nir: add type information to load uniform/input and store output intrinsics
This type information will be used by gather_ssa_types to get usable results Signed-off-by: Jonathan Marek <jonathan@marek.ca> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -118,6 +118,8 @@ ALIGN_MUL = "NIR_INTRINSIC_ALIGN_MUL"
|
||||
ALIGN_OFFSET = "NIR_INTRINSIC_ALIGN_OFFSET"
|
||||
# The vulkan descriptor type for vulkan_resource_index
|
||||
DESC_TYPE = "NIR_INTRINSIC_DESC_TYPE"
|
||||
# The nir_alu_type of a uniform/input/output
|
||||
TYPE = "NIR_INTRINSIC_TYPE"
|
||||
|
||||
#
|
||||
# Possible flags:
|
||||
@@ -640,11 +642,11 @@ def load(name, num_srcs, indices=[], flags=[]):
|
||||
flags=flags)
|
||||
|
||||
# src[] = { offset }.
|
||||
load("uniform", 1, [BASE, RANGE], [CAN_ELIMINATE, CAN_REORDER])
|
||||
load("uniform", 1, [BASE, RANGE, TYPE], [CAN_ELIMINATE, CAN_REORDER])
|
||||
# src[] = { buffer_index, offset }.
|
||||
load("ubo", 2, [ACCESS, ALIGN_MUL, ALIGN_OFFSET], flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
# src[] = { offset }.
|
||||
load("input", 1, [BASE, COMPONENT], [CAN_ELIMINATE, CAN_REORDER])
|
||||
load("input", 1, [BASE, COMPONENT, TYPE], [CAN_ELIMINATE, CAN_REORDER])
|
||||
# src[] = { vertex, offset }.
|
||||
load("per_vertex_input", 2, [BASE, COMPONENT], [CAN_ELIMINATE, CAN_REORDER])
|
||||
# src[] = { barycoord, offset }.
|
||||
@@ -679,7 +681,7 @@ def store(name, num_srcs, indices=[], flags=[]):
|
||||
intrinsic("store_" + name, [0] + ([1] * (num_srcs - 1)), indices=indices, flags=flags)
|
||||
|
||||
# src[] = { value, offset }.
|
||||
store("output", 2, [BASE, WRMASK, COMPONENT])
|
||||
store("output", 2, [BASE, WRMASK, COMPONENT, TYPE])
|
||||
# src[] = { value, vertex, offset }.
|
||||
store("per_vertex_output", 3, [BASE, WRMASK, COMPONENT])
|
||||
# src[] = { value, block_index, offset }
|
||||
|
Reference in New Issue
Block a user