turnip: fix emit_textures for compute shaders

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3104>
This commit is contained in:
Jonathan Marek 2019-12-15 10:42:23 -05:00 committed by Marge Bot
parent ed43d01dec
commit c9b12c71d7
1 changed files with 9 additions and 6 deletions

View File

@ -2727,16 +2727,16 @@ tu6_emit_consts(struct tu_cmd_buffer *cmd,
static VkResult
tu6_emit_textures(struct tu_cmd_buffer *cmd,
const struct tu_pipeline *pipeline,
struct tu_descriptor_state *descriptors_state,
gl_shader_stage type,
struct tu_cs_entry *entry,
bool *needs_border)
{
struct tu_device *device = cmd->device;
struct tu_cs *draw_state = &cmd->sub_cs;
struct tu_descriptor_state *descriptors_state =
&cmd->descriptors[VK_PIPELINE_BIND_POINT_GRAPHICS];
const struct tu_program_descriptor_linkage *link =
&cmd->state.pipeline->program.link[type];
&pipeline->program.link[type];
VkResult result;
if (link->texture_map.num == 0 && link->sampler_map.num == 0) {
@ -3136,11 +3136,13 @@ tu6_bind_draw_states(struct tu_cmd_buffer *cmd,
bool needs_border = false;
struct tu_cs_entry vs_tex, fs_tex;
result = tu6_emit_textures(cmd, MESA_SHADER_VERTEX, &vs_tex, &needs_border);
result = tu6_emit_textures(cmd, pipeline, descriptors_state,
MESA_SHADER_VERTEX, &vs_tex, &needs_border);
if (result != VK_SUCCESS)
return result;
result = tu6_emit_textures(cmd, MESA_SHADER_FRAGMENT, &fs_tex, &needs_border);
result = tu6_emit_textures(cmd, pipeline, descriptors_state,
MESA_SHADER_FRAGMENT, &fs_tex, &needs_border);
if (result != VK_SUCCESS)
return result;
@ -3477,7 +3479,8 @@ tu_dispatch(struct tu_cmd_buffer *cmd,
tu_emit_compute_driver_params(cs, pipeline, info);
bool needs_border;
result = tu6_emit_textures(cmd, MESA_SHADER_COMPUTE, &ib, &needs_border);
result = tu6_emit_textures(cmd, pipeline, descriptors_state,
MESA_SHADER_COMPUTE, &ib, &needs_border);
if (result != VK_SUCCESS) {
cmd->record_result = result;
return;