mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 23:18:20 +02:00
svga: store shared_mem_size in svga_compute_shader instead of svga_context
When new context was created, shared_mem_size was getting overwritten. This fixes glretrace failure seen with manhattan, aztec and BASS2_intro apitraces Fixes:247c61f2d0('svga: Add support for compute shader, shader buffers and image views') Tested with glretrace, piglit Reviewed-by: Charmaine Lee <charmainel@vmware.com> (cherry picked from commit dd6793ec9218782b1b716a87582d7219bae4e75f) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14870> (cherry picked from commit9230b28533)
This commit is contained in:
parent
2c7d0e1b49
commit
5a7a564d7c
5 changed files with 4 additions and 4 deletions
|
|
@ -310,7 +310,7 @@
|
|||
"description": "svga: store shared_mem_size in svga_compute_shader instead of svga_context",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "247c61f2d0454a94bc8b26601f88ed5f0890cedd"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -374,7 +374,6 @@ struct svga_state
|
|||
struct pipe_resource *indirect;
|
||||
} grid_info;
|
||||
|
||||
unsigned shared_mem_size;
|
||||
};
|
||||
|
||||
struct svga_prescale {
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ svga_create_compute_state(struct pipe_context *pipe,
|
|||
|
||||
cs->base.id = svga->debug.shader_id++;
|
||||
|
||||
svga->curr.shared_mem_size = templ->req_local_mem;
|
||||
cs->shared_mem_size = templ->req_local_mem;
|
||||
|
||||
SVGA_STATS_TIME_POP(svga_sws(svga));
|
||||
return cs;
|
||||
|
|
|
|||
|
|
@ -380,6 +380,7 @@ struct svga_tes_shader
|
|||
struct svga_compute_shader
|
||||
{
|
||||
struct svga_shader base;
|
||||
unsigned shared_mem_size;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ make_cs_key(struct svga_context *svga,
|
|||
key->cs.grid_size[0] = svga->curr.grid_info.size[0];
|
||||
key->cs.grid_size[1] = svga->curr.grid_info.size[1];
|
||||
key->cs.grid_size[2] = svga->curr.grid_info.size[2];
|
||||
key->cs.mem_size = svga->curr.shared_mem_size;
|
||||
key->cs.mem_size = cs->shared_mem_size;
|
||||
|
||||
if (svga->curr.grid_info.indirect && cs->base.info.uses_grid_size) {
|
||||
struct pipe_transfer *transfer = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue