summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_shader.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2016-03-18 09:55:57 -0600
committerBrian Paul <[email protected]>2016-03-21 11:59:25 -0600
commitdc9ecf58c0c5c8a97cd41362e78c2fcd9f6e3b80 (patch)
tree0f507a7a25a2d7b20d2c33432cb73af1c0f88dfe /src/gallium/drivers/svga/svga_shader.h
parentb56b853ab3937d6144597f490bb38e2532d0cee2 (diff)
svga: use shader sampler view declarations
Previously, we looked at the bound textures (via the pipe_sampler_views) to determine texture dimensions (1D/2D/3D/etc) and datatype (float vs. int). But this could fail in out of memory conditions. If we failed to allocate a texture and didn't create a pipe_sampler_view, we'd default to using 0 (PIPE_BUFFER) as the texture type. This led to device errors because of inconsistent shader code. This change relies on all TGSI shaders having an SVIEW declaration for each SAMP declaration. The previous patch series does that. Reviewed-by: Charmaine Lee <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_shader.h')
-rw-r--r--src/gallium/drivers/svga/svga_shader.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/gallium/drivers/svga/svga_shader.h b/src/gallium/drivers/svga/svga_shader.h
index f49fdb46d0e..3f915740b1f 100644
--- a/src/gallium/drivers/svga/svga_shader.h
+++ b/src/gallium/drivers/svga/svga_shader.h
@@ -98,14 +98,13 @@ struct svga_compile_key
unsigned compare_func:3;
unsigned unnormalized:1;
unsigned width_height_idx:5; /**< texture unit */
- unsigned texture_target:4; /**< PIPE_TEXTURE_x */
+ unsigned is_array:1;
unsigned texture_msaa:1; /**< A multisample texture? */
unsigned sprite_texgen:1;
unsigned swizzle_r:3;
unsigned swizzle_g:3;
unsigned swizzle_b:3;
unsigned swizzle_a:3;
- unsigned return_type:3; /**< TGSI_RETURN_TYPE_x */
} tex[PIPE_MAX_SAMPLERS];
/* Note: svga_compile_keys_equal() depends on the variable-size
* tex[] array being at the end of this structure.