Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
b471b217
Commit
b471b217
authored
Aug 25, 2015
by
Stefan Dösinger
Committed by
Alexandre Julliard
Aug 25, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Handle multisample_quality if type == MULTISAMPLE_NON_MASKABLE.
parent
599d92a2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
8 deletions
+14
-8
directx.c
dlls/wined3d/directx.c
+0
-1
surface.c
dlls/wined3d/surface.c
+14
-7
No files found.
dlls/wined3d/directx.c
View file @
b471b217
...
...
@@ -4405,7 +4405,6 @@ HRESULT CDECL wined3d_check_device_multisample_type(const struct wined3d *wined3
if
(
quality_levels
)
{
if
(
multisample_type
==
WINED3D_MULTISAMPLE_NON_MASKABLE
)
/* FIXME: This is probably wrong. */
*
quality_levels
=
gl_info
->
limits
.
samples
;
else
*
quality_levels
=
1
;
...
...
dlls/wined3d/surface.c
View file @
b471b217
...
...
@@ -2844,12 +2844,25 @@ void surface_prepare_rb(struct wined3d_surface *surface, const struct wined3d_gl
{
if
(
multisample
)
{
DWORD
samples
;
if
(
surface
->
rb_multisample
)
return
;
/* TODO: Nvidia exposes their Coverage Sample Anti-Aliasing (CSAA) feature
* through type == MULTISAMPLE_XX and quality != 0. This could be mapped
* to GL_NV_framebuffer_multisample_coverage.
*
* AMD has a similar feature called Enhanced Quality Anti-Aliasing (EQAA),
* but it does not have an equivalent OpenGL extension. */
if
(
surface
->
resource
.
multisample_type
==
WINED3D_MULTISAMPLE_NON_MASKABLE
)
samples
=
surface
->
resource
.
multisample_quality
;
else
samples
=
surface
->
resource
.
multisample_type
;
gl_info
->
fbo_ops
.
glGenRenderbuffers
(
1
,
&
surface
->
rb_multisample
);
gl_info
->
fbo_ops
.
glBindRenderbuffer
(
GL_RENDERBUFFER
,
surface
->
rb_multisample
);
gl_info
->
fbo_ops
.
glRenderbufferStorageMultisample
(
GL_RENDERBUFFER
,
s
urface
->
resource
.
multisample_type
,
gl_info
->
fbo_ops
.
glRenderbufferStorageMultisample
(
GL_RENDERBUFFER
,
s
amples
,
surface
->
resource
.
format
->
glInternal
,
surface
->
pow2Width
,
surface
->
pow2Height
);
checkGLcall
(
"glRenderbufferStorageMultisample()"
);
TRACE
(
"Created multisample rb %u.
\n
"
,
surface
->
rb_multisample
);
...
...
@@ -5395,12 +5408,6 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
unsigned
int
resource_size
;
HRESULT
hr
;
if
(
multisample_quality
>
0
)
{
FIXME
(
"multisample_quality set to %u, substituting 0.
\n
"
,
multisample_quality
);
multisample_quality
=
0
;
}
/* Quick lockable sanity check.
* TODO: remove this after surfaces, usage and lockability have been debugged properly
* this function is too deep to need to care about things like this.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment