mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
intel/vec4: Stomp the return type of RESINFO to UINT32
We already do this in the FS back-end; we just weren't doing it in vec4
so RESINFO messages weren't returning the right data.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5243>
(cherry picked from commit a7c8811fe4)
This commit is contained in:
parent
bd4c699f93
commit
0bb69d0216
2 changed files with 12 additions and 1 deletions
|
|
@ -346,7 +346,7 @@
|
|||
"description": "intel/vec4: Stomp the return type of RESINFO to UINT32",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -270,6 +270,17 @@ generate_tex(struct brw_codegen *p,
|
|||
break;
|
||||
}
|
||||
|
||||
/* Stomp the resinfo output type to UINT32. On gens 4-5, the output type
|
||||
* is set as part of the message descriptor. On gen4, the PRM seems to
|
||||
* allow UINT32 and FLOAT32 (i965 PRM, Vol. 4 Section 4.8.1.1), but on
|
||||
* later gens UINT32 is required. Once you hit Sandy Bridge, the bit is
|
||||
* gone from the message descriptor entirely and you just get UINT32 all
|
||||
* the time regasrdless. Since we can really only do non-UINT32 on gen4,
|
||||
* just stomp it to UINT32 all the time.
|
||||
*/
|
||||
if (inst->opcode == SHADER_OPCODE_TXS)
|
||||
return_format = BRW_SAMPLER_RETURN_FORMAT_UINT32;
|
||||
|
||||
uint32_t base_binding_table_index = (inst->opcode == SHADER_OPCODE_TG4 ||
|
||||
inst->opcode == SHADER_OPCODE_TG4_OFFSET)
|
||||
? prog_data->base.binding_table.gather_texture_start
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue