mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
radeonsi/gfx10: implement load_const_buffer_desc_fast_path
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
1b11fb148c
commit
48810ad02d
1 changed files with 14 additions and 7 deletions
|
|
@ -2249,17 +2249,24 @@ static LLVMValueRef load_const_buffer_desc_fast_path(struct si_shader_context *c
|
|||
desc1 = LLVMConstInt(ctx->i32,
|
||||
S_008F04_BASE_ADDRESS_HI(ctx->screen->info.address32_hi), 0);
|
||||
|
||||
uint32_t rsrc3 = S_008F0C_DST_SEL_X(V_008F0C_SQ_SEL_X) |
|
||||
S_008F0C_DST_SEL_Y(V_008F0C_SQ_SEL_Y) |
|
||||
S_008F0C_DST_SEL_Z(V_008F0C_SQ_SEL_Z) |
|
||||
S_008F0C_DST_SEL_W(V_008F0C_SQ_SEL_W);
|
||||
|
||||
if (ctx->screen->info.chip_class >= GFX10)
|
||||
rsrc3 |= S_008F0C_FORMAT(V_008F0C_IMG_FORMAT_32_FLOAT) |
|
||||
S_008F0C_OOB_SELECT(3) |
|
||||
S_008F0C_RESOURCE_LEVEL(1);
|
||||
else
|
||||
rsrc3 |= S_008F0C_NUM_FORMAT(V_008F0C_BUF_NUM_FORMAT_FLOAT) |
|
||||
S_008F0C_DATA_FORMAT(V_008F0C_BUF_DATA_FORMAT_32);
|
||||
|
||||
LLVMValueRef desc_elems[] = {
|
||||
desc0,
|
||||
desc1,
|
||||
LLVMConstInt(ctx->i32, (sel->info.const_file_max[0] + 1) * 16, 0),
|
||||
LLVMConstInt(ctx->i32,
|
||||
S_008F0C_DST_SEL_X(V_008F0C_SQ_SEL_X) |
|
||||
S_008F0C_DST_SEL_Y(V_008F0C_SQ_SEL_Y) |
|
||||
S_008F0C_DST_SEL_Z(V_008F0C_SQ_SEL_Z) |
|
||||
S_008F0C_DST_SEL_W(V_008F0C_SQ_SEL_W) |
|
||||
S_008F0C_NUM_FORMAT(V_008F0C_BUF_NUM_FORMAT_FLOAT) |
|
||||
S_008F0C_DATA_FORMAT(V_008F0C_BUF_DATA_FORMAT_32), 0)
|
||||
LLVMConstInt(ctx->i32, rsrc3, false)
|
||||
};
|
||||
|
||||
return ac_build_gather_values(&ctx->ac, desc_elems, 4);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue