Discussion:
[PATCH] svga: update SVGA_NEW_ flags for updating sampler state
Add Reply
Brian Paul
2017-12-28 19:09:34 UTC
Reply
Permalink
Raw Message
The SVGA_NEW_FS flag is needed since we now examine the fragment
shader's fs_shadow_compare_units flags. The SVGA_NEW_TEXTURE_FLAGS
flag is not needed since it's only for pre-VGPU10.

No piglit changes. This doesn't fix any known issues but it could
pop up somewhere. Suggested by Charmaine.
---
src/gallium/drivers/svga/svga_state_sampler.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_state_sampler.c b/src/gallium/drivers/svga/svga_state_sampler.c
index 11f36e3..bcc055d 100644
--- a/src/gallium/drivers/svga/svga_state_sampler.c
+++ b/src/gallium/drivers/svga/svga_state_sampler.c
@@ -393,6 +393,7 @@ update_samplers(struct svga_context *svga, unsigned dirty )
for (i = 0; i < count; i++) {
bool fs_shadow = false;

+ /* _NEW_FS */
if (shader == PIPE_SHADER_FRAGMENT) {
struct svga_shader_variant *fs = svga->state.hw_draw.fs;
/* If the fragment shader is doing the shadow comparison
@@ -469,8 +470,8 @@ update_samplers(struct svga_context *svga, unsigned dirty )

struct svga_tracked_state svga_hw_sampler = {
"texture sampler emit",
- (SVGA_NEW_SAMPLER |
- SVGA_NEW_STIPPLE |
- SVGA_NEW_TEXTURE_FLAGS),
+ (SVGA_NEW_FS |
+ SVGA_NEW_SAMPLER |
+ SVGA_NEW_STIPPLE),
update_samplers
};
--
1.9.1
Charmaine Lee
2017-12-28 19:44:03 UTC
Reply
Permalink
Raw Message
Looks good.

Reviewed-by: Charmaine Lee <***@vmware.com>

________________________________________
From: Brian Paul <***@vmware.com>
Sent: Thursday, December 28, 2017 11:09:34 AM
To: mesa-***@lists.freedesktop.org
Cc: Neha Bhende; Charmaine Lee
Subject: [PATCH] svga: update SVGA_NEW_ flags for updating sampler state

The SVGA_NEW_FS flag is needed since we now examine the fragment
shader's fs_shadow_compare_units flags. The SVGA_NEW_TEXTURE_FLAGS
flag is not needed since it's only for pre-VGPU10.

No piglit changes. This doesn't fix any known issues but it could
pop up somewhere. Suggested by Charmaine.
---
src/gallium/drivers/svga/svga_state_sampler.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_state_sampler.c b/src/gallium/drivers/svga/svga_state_sampler.c
index 11f36e3..bcc055d 100644
--- a/src/gallium/drivers/svga/svga_state_sampler.c
+++ b/src/gallium/drivers/svga/svga_state_sampler.c
@@ -393,6 +393,7 @@ update_samplers(struct svga_context *svga, unsigned dirty )
for (i = 0; i < count; i++) {
bool fs_shadow = false;

+ /* _NEW_FS */
if (shader == PIPE_SHADER_FRAGMENT) {
struct svga_shader_variant *fs = svga->state.hw_draw.fs;
/* If the fragment shader is doing the shadow comparison
@@ -469,8 +470,8 @@ update_samplers(struct svga_context *svga, unsigned dirty )

struct svga_tracked_state svga_hw_sampler = {
"texture sampler emit",
- (SVGA_NEW_SAMPLER |
- SVGA_NEW_STIPPLE |
- SVGA_NEW_TEXTURE_FLAGS),
+ (SVGA_NEW_FS |
+ SVGA_NEW_SAMPLER |
+ SVGA_NEW_STIPPLE),
update_samplers
};
--
1.9.1

Loading...