mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
freedreno/decode: Add lua handler to filter descriptors
Add a script hook which can be used to decide whether to show a particular descriptor variant. For example, the FMT determines MULTI_PLANE vs SINGLE_PLANE, and the TYPE determines between BUFFER vs other formats. Some ambiguity remains. We could do better in most cases by extracting info from the enabled shader stages. But this is a good start. Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39573>
This commit is contained in:
parent
ebde70cdce
commit
2659262335
8 changed files with 119 additions and 345 deletions
|
|
@ -1598,7 +1598,15 @@ dump_tex_samp(uint32_t *texsamp, enum state_src_t src, int num_unit, int level)
|
|||
static void
|
||||
dump_tex_descriptor_type(uint32_t *texmemobj, int idx, int level, const char *domain, const char *type)
|
||||
{
|
||||
struct rnndomain *dom = rnn_finddomain(rnn->db, domain);
|
||||
|
||||
if (!dom)
|
||||
return;
|
||||
|
||||
rnn_varadd(rnn, "desctype", type);
|
||||
if (script_show_descriptor && !script_show_descriptor(texmemobj, 16, type, rnn, dom))
|
||||
return;
|
||||
|
||||
printl(2, "%sSTORAGE/TEXEL/IMAGE[%u]: (%s)\n", levels[level + 1], idx, type);
|
||||
dump_domain(texmemobj, 16, level + 2, domain);
|
||||
}
|
||||
|
|
|
|||
41
src/freedreno/decode/cffdump-desc-handler.lua
Normal file
41
src/freedreno/decode/cffdump-desc-handler.lua
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
-- SPDX-License-Identifier: MIT
|
||||
|
||||
-- `r` is predefined in the environment and is the equivalent of rnn.init(<gpu>)
|
||||
|
||||
|
||||
-- Should the given descriptor be shown decoded with the specified descriptor
|
||||
-- type. Some combinations can be ruled out, based on TYPE or FMT, for example.
|
||||
-- If it is ambiguous, be conservative and show the specified decoding.
|
||||
function show_descriptor(desc, type)
|
||||
|
||||
if type == r.desctype.DESC_BUFFER then
|
||||
return r.a6xx_tex_type.A6XX_TEX_BUFFER == desc.TYPE
|
||||
end
|
||||
|
||||
-- For any other descriptor type, TEX_BUFFER is invalid
|
||||
if r.a6xx_tex_type.A6XX_TEX_BUFFER == desc.TYPE then
|
||||
return false
|
||||
end
|
||||
|
||||
local is_yuv = (desc.FMT == r.a6xx_format.FMT6_R8_G8B8_2PLANE_420_UNORM) or
|
||||
(desc.FMT == r.a6xx_format.FMT6_R8_G8_B8_3PLANE_420_UNORM)
|
||||
|
||||
if type == r.desctype.DESC_MULTI_PLANE then
|
||||
return is_yuv
|
||||
end
|
||||
|
||||
-- For any other descriptor type, is_yuv is invalid
|
||||
if is_yuv then
|
||||
return false
|
||||
end
|
||||
|
||||
-- we could be more precise with some info about the enabled
|
||||
-- shader stages, ie.
|
||||
--
|
||||
-- * if no img/img_bindless instructions, don't show DESC_WEIGHT
|
||||
-- * if no indirect sampler/texture indexing, we know which
|
||||
-- descriptors are samplers vs memobj
|
||||
--
|
||||
|
||||
return true
|
||||
end
|
||||
|
|
@ -12,6 +12,13 @@ cffdump_pkt_handler_h = custom_target(
|
|||
command : [prog_python, '@INPUT@', '@OUTPUT@', '-n', 'cffdump_pkt_handler_lua_src'],
|
||||
)
|
||||
|
||||
cffdump_desc_handler_h = custom_target(
|
||||
'cffdump-desc-handler.h',
|
||||
input : [files_xxd, 'cffdump-desc-handler.lua'],
|
||||
output : 'cffdump-desc-handler.h',
|
||||
command : [prog_python, '@INPUT@', '@OUTPUT@', '-n', 'cffdump_desc_handler_lua_src'],
|
||||
)
|
||||
|
||||
# Shared cmdstream decoding:
|
||||
libfreedreno_cffdec = static_library(
|
||||
'freedreno_cffdec',
|
||||
|
|
@ -28,6 +35,7 @@ libfreedreno_cffdec = static_library(
|
|||
'script.h',
|
||||
'util.h',
|
||||
cffdump_pkt_handler_h,
|
||||
cffdump_desc_handler_h,
|
||||
freedreno_pm4_xml_header_file,
|
||||
],
|
||||
include_directories: [
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
#include "cffdec.h"
|
||||
#include "cffdump-pkt-handler.h"
|
||||
#include "cffdump-desc-handler.h"
|
||||
#include "rnnutil.h"
|
||||
#include "script.h"
|
||||
|
||||
|
|
@ -704,6 +705,18 @@ internal_lua_pkt_handler_load(void)
|
|||
fprintf(stderr, "%s\n", lua_tostring(iL, -1));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ret = luaL_loadstring(iL, cffdump_desc_handler_lua_src);
|
||||
if (ret) {
|
||||
fprintf(stderr, "%s\n", lua_tostring(iL, -1));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ret = lua_pcall(iL, 0, LUA_MULTRET, 0);
|
||||
if (ret) {
|
||||
fprintf(stderr, "%s\n", lua_tostring(iL, -1));
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -828,18 +841,16 @@ static const struct luaL_Reg l_meta_rnn_dom[] = {
|
|||
{NULL, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
/* called to general pm4 packet decoding, such as texture/sampler state
|
||||
*/
|
||||
static bool
|
||||
handle_packet_setup(lua_State *state, uint32_t *dwords, uint32_t sizedwords,
|
||||
struct rnn *rnn, struct rnndomain *dom)
|
||||
setup_call(lua_State *state, uint32_t *dwords, uint32_t sizedwords,
|
||||
const char *name, struct rnn *rnn, struct rnndomain *dom)
|
||||
{
|
||||
if (!state)
|
||||
return false;
|
||||
|
||||
assert(state == L || state == iL);
|
||||
|
||||
lua_getglobal(state, dom->name);
|
||||
lua_getglobal(state, name);
|
||||
|
||||
/* if no handler for the packet, just ignore it: */
|
||||
if (!lua_isfunction(state, -1)) {
|
||||
|
|
@ -861,6 +872,18 @@ handle_packet_setup(lua_State *state, uint32_t *dwords, uint32_t sizedwords,
|
|||
|
||||
luaL_setmetatable(state, "rnnmetadom");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* called to general pm4 packet decoding, such as texture/sampler state
|
||||
*/
|
||||
static bool
|
||||
handle_packet_setup(lua_State *state, uint32_t *dwords, uint32_t sizedwords,
|
||||
struct rnn *rnn, struct rnndomain *dom)
|
||||
{
|
||||
if (!setup_call(state, dwords, sizedwords, dom->name, rnn, dom))
|
||||
return false;
|
||||
|
||||
lua_pushnumber(state, sizedwords);
|
||||
|
||||
return true;
|
||||
|
|
@ -904,6 +927,33 @@ internal_packet(uint32_t *dwords, uint32_t sizedwords, struct rnn *rnn,
|
|||
return str;
|
||||
}
|
||||
|
||||
bool
|
||||
script_show_descriptor(uint32_t *dwords,
|
||||
uint32_t sizedwords,
|
||||
const char *type,
|
||||
struct rnn *rnn,
|
||||
struct rnndomain *dom)
|
||||
{
|
||||
/* If we cannot call handler, fall back to showing all descriptor variants: */
|
||||
if (!setup_call(iL, dwords, sizedwords, "show_descriptor", rnn, dom))
|
||||
return true;
|
||||
|
||||
struct rnnenum *e = rnn_enumelem(rnn, "desctype");
|
||||
pushenum(iL, rnn, rnn_enumval(rnn, "desctype", type), e);
|
||||
|
||||
/* 2 args, 1 result */
|
||||
if (lua_pcall(iL, 2, 1, 0) != 0) {
|
||||
fprintf(stderr, "error running function `f': %s\n",
|
||||
lua_tostring(iL, -1));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
bool ret = lua_toboolean(iL, -1);
|
||||
lua_pop(iL, 1);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* helper to call fxn that takes and returns void: */
|
||||
static void
|
||||
simple_call(const char *name)
|
||||
|
|
|
|||
|
|
@ -46,6 +46,13 @@ const char * internal_packet(uint32_t *dwords, uint32_t sizedwords,
|
|||
struct rnn *rnn,
|
||||
struct rnndomain *dom);
|
||||
|
||||
__attribute__((weak))
|
||||
bool script_show_descriptor(uint32_t *dwords,
|
||||
uint32_t sizedwords,
|
||||
const char *type,
|
||||
struct rnn *rnn,
|
||||
struct rnndomain *dom);
|
||||
|
||||
/* maybe at some point it is interesting to add additional script
|
||||
* hooks for CP_EVENT_WRITE, etc?
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -853,40 +853,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_MULTI_PLANE)
|
||||
{ BASE_LO = 0xa6000 }
|
||||
{ BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | 0x100000 }
|
||||
{ WIDTH = 32 | HEIGHT = 58 }
|
||||
{ FMT = FMT6_8_UNORM | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_X | SWIZ_Y = A8XX_SWIZ_Y | SWIZ_Z = A8XX_SWIZ_Z | SWIZ_W = A8XX_SWIZ_ONE }
|
||||
{ TILE_MODE = TILE6_LINEAR | BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 | FLAG_BUFFER_PITCH = 0 }
|
||||
{ TEX_LINE_OFFSET = 512 | MIN_LINE_OFFSET = 0 }
|
||||
{ UV_OFFSET_H = 0.000000 | UV_OFFSET_V = 0.000000 | 0x1 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 | UV_PITCH = 0 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_BUFFER)
|
||||
{ INSTANCE_DESC_BASE_LO = 0xa6000 }
|
||||
{ INSTANCE_DESC_BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | STRUCTSIZETEXELS = 1 }
|
||||
{ NUM_ELEMENTS = 1900576 }
|
||||
{ FMT = FMT6_8_UNORM | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_X | SWIZ_Y = A8XX_SWIZ_Y | SWIZ_Z = A8XX_SWIZ_Z | SWIZ_W = A8XX_SWIZ_ONE }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0x200 }
|
||||
{ 0x1 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_WEIGHT)
|
||||
{ BASE_LO = 0xa6000 }
|
||||
{ BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | DEPTH = 1 }
|
||||
|
|
@ -930,40 +896,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[1]: (DESC_MULTI_PLANE)
|
||||
{ BASE_LO = 0x1240 }
|
||||
{ BASE_HI = 0 | TYPE = A6XX_TEX_1D }
|
||||
{ WIDTH = 1 | HEIGHT = 0 }
|
||||
{ FMT = 0 | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_IDENTITY | SWIZ_Y = A8XX_SWIZ_IDENTITY | SWIZ_Z = A8XX_SWIZ_IDENTITY | SWIZ_W = A8XX_SWIZ_IDENTITY }
|
||||
{ TILE_MODE = TILE6_LINEAR | BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 | FLAG_BUFFER_PITCH = 0 }
|
||||
{ TEX_LINE_OFFSET = 0 | MIN_LINE_OFFSET = 0 }
|
||||
{ UV_OFFSET_H = 0.000000 | UV_OFFSET_V = 0.000000 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 | UV_PITCH = 0 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[1]: (DESC_BUFFER)
|
||||
{ INSTANCE_DESC_BASE_LO = 0x1240 }
|
||||
{ INSTANCE_DESC_BASE_HI = 0 | TYPE = A6XX_TEX_1D | STRUCTSIZETEXELS = 0 }
|
||||
{ NUM_ELEMENTS = 1 }
|
||||
{ FMT = 0 | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_IDENTITY | SWIZ_Y = A8XX_SWIZ_IDENTITY | SWIZ_Z = A8XX_SWIZ_IDENTITY | SWIZ_W = A8XX_SWIZ_IDENTITY }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[1]: (DESC_WEIGHT)
|
||||
{ BASE_LO = 0x1240 }
|
||||
{ BASE_HI = 0 | TYPE = A6XX_TEX_1D | DEPTH = 0 }
|
||||
|
|
@ -990,23 +922,6 @@
|
|||
UBO[2]:
|
||||
{ BASE_LO = 0xa6000 }
|
||||
{ BASE_HI = 0x1 | SIZE = 0x9 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_SINGLE_PLANE)
|
||||
{ BASE_LO = 0xa6000 }
|
||||
{ BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | DEPTH = 1 }
|
||||
{ WIDTH = 32 | HEIGHT = 58 | SAMPLES = MSAA_ONE }
|
||||
{ FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_Z | SWIZ_Y = A8XX_SWIZ_X | SWIZ_Z = A8XX_SWIZ_Y | SWIZ_W = A8XX_SWIZ_W }
|
||||
{ TILE_MODE = TILE6_LINEAR | FLAG_LO = 0xa7000 }
|
||||
{ FLAG_HI = 0x1 | FLAG_BUFFER_PITCH = 0 }
|
||||
{ TEX_LINE_OFFSET = 512 | MIN_LINE_OFFSET = 0 | MIPLVLS = 0 }
|
||||
{ ARRAY_SLICE_OFFSET = 0 | ASO_UNIT = 0 | MIN_ARRAY_SLIZE_OFFSET = 0x5000 }
|
||||
{ FLAG_ARRAY_PITCH = 0 | FLAG_BUFFER_LOGW = 0 | FLAG_BUFFER_LOGH = 0 | 0xa8000 }
|
||||
{ MIN_LOD_CLAMP = 0.000000 | 0x20001 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_MULTI_PLANE)
|
||||
{ BASE_LO = 0xa6000 }
|
||||
{ BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | 0x100000 }
|
||||
|
|
@ -1024,40 +939,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_BUFFER)
|
||||
{ INSTANCE_DESC_BASE_LO = 0xa6000 }
|
||||
{ INSTANCE_DESC_BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | STRUCTSIZETEXELS = 1 }
|
||||
{ NUM_ELEMENTS = 1900576 }
|
||||
{ FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_Z | SWIZ_Y = A8XX_SWIZ_X | SWIZ_Z = A8XX_SWIZ_Y | SWIZ_W = A8XX_SWIZ_W }
|
||||
{ 0xa7000 }
|
||||
{ 0x1 }
|
||||
{ 0x200 }
|
||||
{ 0x5000000 }
|
||||
{ 0xa8000 }
|
||||
{ 0x20001 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_WEIGHT)
|
||||
{ BASE_LO = 0xa6000 }
|
||||
{ BASE_HI = 0x1 | TYPE = A6XX_TEX_2D | DEPTH = 1 }
|
||||
{ WIDTH = 32 | HEIGHT = 58 | SAMPLES = MSAA_ONE }
|
||||
{ FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX | 0x347400 }
|
||||
{ TILE_MODE = TILE6_LINEAR | 0xa7000 }
|
||||
{ FILTER_SIZE_X = 1 | FILTER_SIZE_Y = 0 | FILTER_OFFSET_X = 0 | FILTER_OFFSET_Y = 0 }
|
||||
{ TEX_LINE_OFFSET = 512 | MIN_LINE_OFFSET = 0 | MIPLVLS = 0 }
|
||||
{ ARRAY_SLICE_OFFSET = 0 | ASO_UNIT = 0 | DILATION = 5 | LOG2_PHASES = 0 }
|
||||
{ 0xa8000 }
|
||||
{ 0x20001 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
SAMPLER[2]:
|
||||
{ XY_MAG = A6XX_TEX_NEAREST | XY_MIN = A6XX_TEX_NEAREST | WRAP_S = A6XX_TEX_REPEAT | WRAP_T = A6XX_TEX_REPEAT | WRAP_R = 0x6 | LOD_BIAS = 0.039062 | ANISO = A6XX_TEX_ANISO_1 }
|
||||
{ MAX_LOD = 0.003906 | MIN_LOD = 1.125000 | REDUCTION_MODE = A6XX_REDUCTION_MODE_AVERAGE | COMPARE_FUNC = FUNC_NEVER }
|
||||
|
|
@ -1084,40 +965,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[3]: (DESC_MULTI_PLANE)
|
||||
{ BASE_LO = 0x1240 }
|
||||
{ BASE_HI = 0 | TYPE = A6XX_TEX_1D }
|
||||
{ WIDTH = 1 | HEIGHT = 0 }
|
||||
{ FMT = 0 | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_IDENTITY | SWIZ_Y = A8XX_SWIZ_IDENTITY | SWIZ_Z = A8XX_SWIZ_IDENTITY | SWIZ_W = A8XX_SWIZ_IDENTITY }
|
||||
{ TILE_MODE = TILE6_LINEAR | BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 | FLAG_BUFFER_PITCH = 0 }
|
||||
{ TEX_LINE_OFFSET = 0 | MIN_LINE_OFFSET = 0 }
|
||||
{ UV_OFFSET_H = 0.000000 | UV_OFFSET_V = 0.000000 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 | UV_PITCH = 0 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[3]: (DESC_BUFFER)
|
||||
{ INSTANCE_DESC_BASE_LO = 0x1240 }
|
||||
{ INSTANCE_DESC_BASE_HI = 0 | TYPE = A6XX_TEX_1D | STRUCTSIZETEXELS = 0 }
|
||||
{ NUM_ELEMENTS = 1 }
|
||||
{ FMT = 0 | SWAP = WZYX | SWIZ_X = A8XX_SWIZ_IDENTITY | SWIZ_Y = A8XX_SWIZ_IDENTITY | SWIZ_Z = A8XX_SWIZ_IDENTITY | SWIZ_W = A8XX_SWIZ_IDENTITY }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 10 = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[3]: (DESC_WEIGHT)
|
||||
{ BASE_LO = 0x1240 }
|
||||
{ BASE_HI = 0 | TYPE = A6XX_TEX_1D | DEPTH = 0 }
|
||||
|
|
|
|||
|
|
@ -758,40 +758,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_MULTI_PLANE)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_X | SWIZ_Y = A6XX_TEX_ZERO | SWIZ_Z = A6XX_TEX_ZERO | SWIZ_W = A6XX_TEX_ONE | SAMPLES = MSAA_ONE | FMT = FMT6_8_UNORM | SWAP = WZYX }
|
||||
{ WIDTH = 32 | HEIGHT = 58 }
|
||||
{ PITCHALIGN = 0 | PITCH = 64 | TYPE = A6XX_TEX_2D }
|
||||
{ TILE_ALL | 0x800000 }
|
||||
{ BASE_LO = 0x181000 }
|
||||
{ BASE_HI = 0x40 | DEPTH = 1 }
|
||||
{ MIN_LOD_CLAMP = 0.000000 | PLANE_PITCH = 0 }
|
||||
{ BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 }
|
||||
{ 11 = 0x181000 }
|
||||
{ 12 = 0x40 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_BUFFER)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_X | SWIZ_Y = A6XX_TEX_ZERO | SWIZ_Z = A6XX_TEX_ZERO | SWIZ_W = A6XX_TEX_ONE | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = FMT6_8_UNORM | SWAP = WZYX }
|
||||
{ NUM_ELEMENTS = 1900576 }
|
||||
{ STRUCTSIZETEXELS = 512 | STARTOFFSETTEXELS = 0 | TYPE = A6XX_TEX_2D }
|
||||
{ 0x8800000 }
|
||||
{ BASE_LO = 0x181000 }
|
||||
{ BASE_HI = 0x40 | 0x20000 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 11 = 0x181000 }
|
||||
{ 12 = 0x40 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_WEIGHT)
|
||||
{ TILE_MODE = TILE6_LINEAR | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = FMT6_8_UNORM | SWAP = WZYX | 0xb200 }
|
||||
{ WIDTH = 32 | HEIGHT = 58 }
|
||||
|
|
@ -835,40 +801,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[1]: (DESC_MULTI_PLANE)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_Z | SWIZ_Z = A6XX_TEX_Z | SWIZ_W = A6XX_TEX_X | SAMPLES = MSAA_ONE | FMT = 0 | SWAP = WZYX }
|
||||
{ WIDTH = 0 | HEIGHT = 0 }
|
||||
{ PITCHALIGN = 0 | PITCH = 0 | TYPE = A6XX_TEX_1D }
|
||||
{ 0 }
|
||||
{ BASE_LO = 0 }
|
||||
{ BASE_HI = 0 | DEPTH = 0 }
|
||||
{ MIN_LOD_CLAMP = 0.000000 | PLANE_PITCH = 0 }
|
||||
{ BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[1]: (DESC_BUFFER)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_Z | SWIZ_Z = A6XX_TEX_Z | SWIZ_W = A6XX_TEX_X | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = 0 | SWAP = WZYX }
|
||||
{ NUM_ELEMENTS = 0 }
|
||||
{ STRUCTSIZETEXELS = 0 | STARTOFFSETTEXELS = 0 | TYPE = A6XX_TEX_1D }
|
||||
{ 0 }
|
||||
{ BASE_LO = 0 }
|
||||
{ BASE_HI = 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[1]: (DESC_WEIGHT)
|
||||
{ TILE_MODE = TILE6_LINEAR | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = 0 | SWAP = WZYX | 0x920 }
|
||||
{ WIDTH = 0 | HEIGHT = 0 }
|
||||
|
|
@ -895,23 +827,6 @@
|
|||
UBO[2]:
|
||||
{ BASE_LO = 0x2405a420 }
|
||||
{ BASE_HI = 0x10020 | SIZE = 0xe }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_SINGLE_PLANE)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_X | SWIZ_Z = A6XX_TEX_Y | SWIZ_W = A6XX_TEX_ONE | MIPLVLS = 5 | SAMPLES = MSAA_ONE | FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX }
|
||||
{ WIDTH = 32 | HEIGHT = 58 }
|
||||
{ PITCHALIGN = 0 | PITCH = 64 | TYPE = A6XX_TEX_2D }
|
||||
{ ARRAY_PITCH = 0 | MIN_LAYERSZ = 0 | TILE_ALL }
|
||||
{ BASE_LO = 0x181000 }
|
||||
{ BASE_HI = 0x40 | DEPTH = 1 }
|
||||
{ MIN_LOD_CLAMP = 0.000000 | 0x4000 }
|
||||
{ FLAG_LO = 0x181e80 }
|
||||
{ FLAG_HI = 0x40 }
|
||||
{ FLAG_BUFFER_ARRAY_PITCH = 154624 | 0x180000 }
|
||||
{ FLAG_BUFFER_PITCH = 4096 | FLAG_BUFFER_LOGW = 0 | FLAG_BUFFER_LOGH = 0 }
|
||||
{ 11 = 0x181000 }
|
||||
{ 12 = 0x40 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_MULTI_PLANE)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_X | SWIZ_Z = A6XX_TEX_Y | SWIZ_W = A6XX_TEX_ONE | CHROMA_MIDPOINT_X | CHROMA_MIDPOINT_Y | SAMPLES = MSAA_ONE | FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX }
|
||||
{ WIDTH = 32 | HEIGHT = 58 }
|
||||
|
|
@ -929,40 +844,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_BUFFER)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_X | SWIZ_Z = A6XX_TEX_Y | SWIZ_W = A6XX_TEX_ONE | MIPLVLS = 5 | SAMPLES = MSAA_ONE | FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX }
|
||||
{ NUM_ELEMENTS = 1900576 }
|
||||
{ STRUCTSIZETEXELS = 512 | STARTOFFSETTEXELS = 0 | TYPE = A6XX_TEX_2D }
|
||||
{ 0x8000000 }
|
||||
{ BASE_LO = 0x181000 }
|
||||
{ BASE_HI = 0x40 | 0x20000 }
|
||||
{ 0x4000 }
|
||||
{ 0x181e80 }
|
||||
{ 0x40 }
|
||||
{ 0x1825c0 }
|
||||
{ 0x40 }
|
||||
{ 11 = 0x181000 }
|
||||
{ 12 = 0x40 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[2]: (DESC_WEIGHT)
|
||||
{ TILE_MODE = TILE6_LINEAR | MIPLVLS = 5 | SAMPLES = MSAA_ONE | FMT = FMT6_R8_G8_B8_3PLANE_420_UNORM | SWAP = WZYX | 0xa420 }
|
||||
{ WIDTH = 32 | HEIGHT = 58 }
|
||||
{ PITCHALIGN = 0 | PITCH = 64 | TYPE = A6XX_TEX_2D }
|
||||
{ ARRAY_PITCH = 0 | TILE_ALL }
|
||||
{ BASE_LO = 0x181000 }
|
||||
{ BASE_HI = 0x40 | DEPTH = 1 }
|
||||
{ LOG2_PHASES = 0 | DILATION = 0 | 0x4000 }
|
||||
{ 0x181e80 }
|
||||
{ FILTER_SIZE_X = 0 | FILTER_SIZE_Y = 0 | 0x40 }
|
||||
{ 0x1825c0 }
|
||||
{ FILTER_OFFSET_X = 0 | FILTER_OFFSET_Y = 0 | 0x40 }
|
||||
{ 11 = 0x181000 }
|
||||
{ 12 = 0x40 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
SAMPLER[2]:
|
||||
{ XY_MAG = A6XX_TEX_NEAREST | XY_MIN = A6XX_TEX_NEAREST | WRAP_S = A6XX_TEX_CLAMP_TO_EDGE | WRAP_T = A6XX_TEX_MIRROR_CLAMP | WRAP_R = A6XX_TEX_MIRROR_CLAMP | ANISO = 0x6 | LOD_BIAS = 4.500000 | 0x40000 }
|
||||
{ COMPARE_FUNC = FUNC_NEVER | UNNORM_COORDS | MAX_LOD = 13.000000 | MIN_LOD = 0.003906 }
|
||||
|
|
@ -989,40 +870,6 @@
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[3]: (DESC_MULTI_PLANE)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_Z | SWIZ_Z = A6XX_TEX_Z | SWIZ_W = A6XX_TEX_X | SAMPLES = MSAA_ONE | FMT = 0 | SWAP = WZYX }
|
||||
{ WIDTH = 0 | HEIGHT = 0 }
|
||||
{ PITCHALIGN = 0 | PITCH = 0 | TYPE = A6XX_TEX_1D }
|
||||
{ 0 }
|
||||
{ BASE_LO = 0 }
|
||||
{ BASE_HI = 0 | DEPTH = 0 }
|
||||
{ MIN_LOD_CLAMP = 0.000000 | PLANE_PITCH = 0 }
|
||||
{ BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[3]: (DESC_BUFFER)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_Z | SWIZ_Y = A6XX_TEX_Z | SWIZ_Z = A6XX_TEX_Z | SWIZ_W = A6XX_TEX_X | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = 0 | SWAP = WZYX }
|
||||
{ NUM_ELEMENTS = 0 }
|
||||
{ STRUCTSIZETEXELS = 0 | STARTOFFSETTEXELS = 0 | TYPE = A6XX_TEX_1D }
|
||||
{ 0 }
|
||||
{ BASE_LO = 0 }
|
||||
{ BASE_HI = 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[3]: (DESC_WEIGHT)
|
||||
{ TILE_MODE = TILE6_LINEAR | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = 0 | SWAP = WZYX | 0x920 }
|
||||
{ WIDTH = 0 | HEIGHT = 0 }
|
||||
|
|
|
|||
|
|
@ -8755,40 +8755,6 @@ got cmdszdw=416
|
|||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_MULTI_PLANE)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_X | SWIZ_Y = A6XX_TEX_Y | SWIZ_Z = A6XX_TEX_Z | SWIZ_W = A6XX_TEX_W | SAMPLES = MSAA_ONE | FMT = FMT6_8_8_8_8_UNORM | SWAP = WZYX }
|
||||
{ WIDTH = 2 | HEIGHT = 2 }
|
||||
{ PITCHALIGN = 2 | PITCH = 256 | TYPE = A6XX_TEX_2D }
|
||||
{ 0x1 }
|
||||
{ BASE_LO = 0x373a000 }
|
||||
{ BASE_HI = 0x1 | DEPTH = 1 }
|
||||
{ MIN_LOD_CLAMP = 0.000000 | PLANE_PITCH = 0 }
|
||||
{ BASE_U_LO = 0 }
|
||||
{ BASE_U_HI = 0 }
|
||||
{ BASE_V_LO = 0 }
|
||||
{ BASE_V_HI = 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
STORAGE/TEXEL/IMAGE[0]: (DESC_BUFFER)
|
||||
{ TILE_MODE = TILE6_LINEAR | SWIZ_X = A6XX_TEX_X | SWIZ_Y = A6XX_TEX_Y | SWIZ_Z = A6XX_TEX_Z | SWIZ_W = A6XX_TEX_W | MIPLVLS = 0 | SAMPLES = MSAA_ONE | FMT = FMT6_8_8_8_8_UNORM | SWAP = WZYX }
|
||||
{ NUM_ELEMENTS = 65538 }
|
||||
{ STRUCTSIZETEXELS = 2048 | STARTOFFSETTEXELS = 0 | TYPE = A6XX_TEX_2D | 0x2 }
|
||||
{ 0x1 }
|
||||
{ BASE_LO = 0x373a000 }
|
||||
{ BASE_HI = 0x1 | 0x20000 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 0 }
|
||||
{ 11 = 0 }
|
||||
{ 12 = 0 }
|
||||
{ 13 = 0 }
|
||||
{ 14 = 0 }
|
||||
{ 15 = 0 }
|
||||
0000000100009200: 0000: 0c006880 00010002 20008002 00000001 0373a000 00020001 00000000 00000000
|
||||
*
|
||||
000000010000915c: 0000: 70348003 00524000 00009200 00000001
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue