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
69ba059d
Commit
69ba059d
authored
Sep 24, 2020
by
Henri Verbeet
Committed by
Alexandre Julliard
Sep 24, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wined3d: Implement sample masks for the Vulkan adapter.
Signed-off-by:
Henri Verbeet
<
hverbeet@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
61e02c5e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
3 deletions
+10
-3
context_vk.c
dlls/wined3d/context_vk.c
+9
-3
wined3d_private.h
dlls/wined3d/wined3d_private.h
+1
-0
No files found.
dlls/wined3d/context_vk.c
View file @
69ba059d
...
...
@@ -1635,8 +1635,12 @@ static int wined3d_graphics_pipeline_vk_compare(const void *key, const struct wi
if
((
ret
=
memcmp
(
&
a
->
rs_desc
,
&
b
->
rs_desc
,
sizeof
(
a
->
rs_desc
))))
return
ret
;
if
((
ret
=
memcmp
(
&
a
->
ms_desc
,
&
b
->
ms_desc
,
sizeof
(
a
->
ms_desc
))))
return
ret
;
if
(
a
->
ms_desc
.
rasterizationSamples
!=
b
->
ms_desc
.
rasterizationSamples
)
return
a
->
ms_desc
.
rasterizationSamples
-
b
->
ms_desc
.
rasterizationSamples
;
if
(
a
->
ms_desc
.
alphaToCoverageEnable
!=
b
->
ms_desc
.
alphaToCoverageEnable
)
return
a
->
ms_desc
.
alphaToCoverageEnable
-
b
->
ms_desc
.
alphaToCoverageEnable
;
if
(
a
->
sample_mask
!=
b
->
sample_mask
)
return
a
->
sample_mask
-
b
->
sample_mask
;
if
((
ret
=
memcmp
(
&
a
->
ds_desc
,
&
b
->
ds_desc
,
sizeof
(
a
->
ds_desc
))))
return
ret
;
...
...
@@ -1710,6 +1714,7 @@ static void wined3d_context_vk_init_graphics_pipeline_key(struct wined3d_context
key
->
rs_desc
.
lineWidth
=
1
.
0
f
;
key
->
ms_desc
.
sType
=
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
;
key
->
ms_desc
.
pSampleMask
=
&
key
->
sample_mask
;
key
->
ds_desc
.
sType
=
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
;
key
->
ds_desc
.
maxDepthBounds
=
1
.
0
f
;
...
...
@@ -2020,10 +2025,11 @@ static bool wined3d_context_vk_update_graphics_pipeline_key(struct wined3d_conte
}
if
(
key
->
ms_desc
.
rasterizationSamples
!=
context_vk
->
sample_count
||
isStateDirty
(
&
context_vk
->
c
,
STATE_BLEND
))
||
isStateDirty
(
&
context_vk
->
c
,
STATE_BLEND
)
||
isStateDirty
(
&
context_vk
->
c
,
STATE_SAMPLE_MASK
)
)
{
key
->
ms_desc
.
rasterizationSamples
=
context_vk
->
sample_count
;
key
->
ms_desc
.
alphaToCoverageEnable
=
state
->
blend_state
&&
state
->
blend_state
->
desc
.
alpha_to_coverage
;
key
->
sample_mask
=
state
->
sample_mask
;
update
=
true
;
}
...
...
dlls/wined3d/wined3d_private.h
View file @
69ba059d
...
...
@@ -2386,6 +2386,7 @@ struct wined3d_graphics_pipeline_key_vk
VkVertexInputBindingDescription
bindings
[
MAX_ATTRIBS
];
VkViewport
viewport
;
VkRect2D
scissor
;
VkSampleMask
sample_mask
;
VkPipelineColorBlendAttachmentState
blend_attachments
[
WINED3D_MAX_RENDER_TARGETS
];
VkPipelineVertexInputDivisorStateCreateInfoEXT
divisor_desc
;
...
...
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