st/xa: emit sampler view declarations in shaders
Fixes recent regressions with the VMware gallium driver. Reviewed-by: Charmaine Lee <charmainel@vmware.com> Tested-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
@@ -339,6 +339,16 @@ create_yuv_shader(struct pipe_context *pipe, struct ureg_program *ureg)
|
||||
u_sampler = ureg_DECL_sampler(ureg, 1);
|
||||
v_sampler = ureg_DECL_sampler(ureg, 2);
|
||||
|
||||
ureg_DECL_sampler_view(ureg, 0, TGSI_TEXTURE_2D,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
|
||||
ureg_DECL_sampler_view(ureg, 1, TGSI_TEXTURE_2D,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
|
||||
ureg_DECL_sampler_view(ureg, 2, TGSI_TEXTURE_2D,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
|
||||
|
||||
matrow0 = ureg_DECL_constant(ureg, 0);
|
||||
matrow1 = ureg_DECL_constant(ureg, 1);
|
||||
matrow2 = ureg_DECL_constant(ureg, 2);
|
||||
@@ -475,6 +485,9 @@ create_fs(struct pipe_context *pipe, unsigned fs_traits)
|
||||
}
|
||||
if (is_composite) {
|
||||
src_sampler = ureg_DECL_sampler(ureg, 0);
|
||||
ureg_DECL_sampler_view(ureg, 0, TGSI_TEXTURE_2D,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
|
||||
src_input = ureg_DECL_fs_input(ureg,
|
||||
TGSI_SEMANTIC_GENERIC, 0,
|
||||
TGSI_INTERPOLATE_PERSPECTIVE);
|
||||
@@ -494,12 +507,18 @@ create_fs(struct pipe_context *pipe, unsigned fs_traits)
|
||||
|
||||
if (has_mask) {
|
||||
mask_sampler = ureg_DECL_sampler(ureg, 1);
|
||||
ureg_DECL_sampler_view(ureg, 1, TGSI_TEXTURE_2D,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
|
||||
mask_pos = ureg_DECL_fs_input(ureg,
|
||||
TGSI_SEMANTIC_GENERIC, 1,
|
||||
TGSI_INTERPOLATE_PERSPECTIVE);
|
||||
}
|
||||
#if 0 /* unused right now */
|
||||
dst_sampler = ureg_DECL_sampler(ureg, 2);
|
||||
ureg_DECL_sampler_view(ureg, 2, TGSI_TEXTURE_2D,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT,
|
||||
TGSI_RETURN_TYPE_FLOAT, TGSI_RETURN_TYPE_FLOAT);
|
||||
dst_pos = ureg_DECL_fs_input(ureg,
|
||||
TGSI_SEMANTIC_POSITION, 2,
|
||||
TGSI_INTERPOLATE_PERSPECTIVE);
|
||||
|
||||
Reference in New Issue
Block a user