freedreno/ir3: Replace our custom vec4 UBO intrinsic with the shared lowering.
This gets us fewer comparisons in the shaders that we need to optimize back out, and reduces backend code. total instructions in shared programs: 11547270 -> 7219930 (-37.48%) total full in shared programs: 334268 -> 319602 (-4.39%) Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by: Connor Abbott <cwabbott0@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6378>
This commit is contained in:
@@ -815,12 +815,6 @@ intrinsic("ssbo_atomic_xor_ir3", src_comp=[1, 1, 1, 1], dest_comp=1, i
|
||||
intrinsic("ssbo_atomic_exchange_ir3", src_comp=[1, 1, 1, 1], dest_comp=1, indices=[ACCESS])
|
||||
intrinsic("ssbo_atomic_comp_swap_ir3", src_comp=[1, 1, 1, 1, 1], dest_comp=1, indices=[ACCESS])
|
||||
|
||||
# IR3-specific instruction for UBO loads using the ldc instruction. The second
|
||||
# source is the indirect offset, in units of four dwords. The base is a
|
||||
# component offset, in dword units.
|
||||
intrinsic("load_ubo_ir3", src_comp=[1, 1], bit_sizes=[32], dest_comp=0, indices=[BASE],
|
||||
flags=[CAN_REORDER, CAN_ELIMINATE])
|
||||
|
||||
# System values for freedreno geometry shaders.
|
||||
system_value("vs_primitive_stride_ir3", 1)
|
||||
system_value("vs_vertex_stride_ir3", 1)
|
||||
|
Reference in New Issue
Block a user