diff --git a/src/gallium/drivers/svga/svga_shader.c b/src/gallium/drivers/svga/svga_shader.c index 892efdf83ae..c1c9205746d 100644 --- a/src/gallium/drivers/svga/svga_shader.c +++ b/src/gallium/drivers/svga/svga_shader.c @@ -489,8 +489,8 @@ svga_init_shader_key_common(const struct svga_context *svga, struct pipe_resource *resource = cur_image_view->desc.resource; if (resource) { - key->images[i].return_type = - svga_get_texture_datatype(cur_image_view->desc.format); + key->images[i].return_type = + vgpu10_return_type(cur_image_view->desc.format); key->images[i].is_array = resource->array_size > 1; diff --git a/src/gallium/drivers/svga/svga_shader.h b/src/gallium/drivers/svga/svga_shader.h index ac69172ef83..2f465ade278 100644 --- a/src/gallium/drivers/svga/svga_shader.h +++ b/src/gallium/drivers/svga/svga_shader.h @@ -24,7 +24,6 @@ struct svga_context; - struct svga_compile_key { /* vertex shader only */ @@ -141,7 +140,7 @@ struct svga_compile_key uint64_t raw_shaderbufs; /* bitmask of raw shader buffers */ struct { - enum tgsi_return_type return_type; + unsigned return_type; enum pipe_texture_target resource_target; unsigned is_array:1; unsigned is_single_layer:1; diff --git a/src/gallium/drivers/svga/svga_tgsi_vgpu10.c b/src/gallium/drivers/svga/svga_tgsi_vgpu10.c index 73b9c07de5d..a251f7e5e9f 100644 --- a/src/gallium/drivers/svga/svga_tgsi_vgpu10.c +++ b/src/gallium/drivers/svga/svga_tgsi_vgpu10.c @@ -6369,7 +6369,7 @@ emit_image_declarations(struct svga_shader_emitter_v10 *emit) return_type.component0 = return_type.component1 = return_type.component2 = - return_type.component3 = emit->key.images[unit].return_type + 1; + return_type.component3 = emit->key.images[unit].return_type; assert(emit->key.images[unit].uav_index != SVGA3D_INVALID_ID); begin_emit_instruction(emit);