Nicolai Hähnle
601093f95d
xmlconfig: move into src/util
v2: attempt to fix Android build (Emil)
v3: add missing include path
Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
8年前
Nicolai Hähnle
1e40d2c882
xmlconfig: remove GL type dependencies
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
2879a602dd
radeonsi: ensure that temp array allocas are in the entry block
Otherwise, code generation fails. This has become necessary since some
shaders are wrapped in control flow.
Fixes: 081ac6e5c6
("radeonsi/gfx9: always wrap GS and TCS in an if-block (v2)")
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
dfe237aef9
radeonsi: enable R600_DEBUG=nir for vertex and fragment shaders
Also, disable geometry and tessellation shaders. Mixing and matching NIR
and TGSI shaders should work (and I've tested it for the VS/PS interface),
but geometry and tessellation requires VS-as-ES/LS, which isn't implemented
yet for NIR.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
3b4f481c60
radeonsi: VS as ES/LS are not yet supported with R600_DEBUG=nir
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
3997b10f74
radeonsi/nir: lower uniforms to UBO loads
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
b7d36efc2d
ac/nir: implement load_frag_coord intrinsic
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
d5741489d3
radeonsi/nir: lower txp instructions
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
bcf85fcd9a
ac/nir: pass ac_llvm_context to unpack_param
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
1c64637c26
ac/nir,radeonsi: add and use ac_shader_abi::frag_pos
v2: update for LLVMValueRefs in ac_shader_abi
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
f03c54e05a
ac/nir,radeonsi: add and use ac_shader_abi::{ancillary,sample_coverage}
v2: update for LLVMValueRefs in ac_shader_abi
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
7de445377c
ac/nir,radv: move force_persample to ac_shader_info::force_persample
Avoid accessing radv-specific structures during the meat of NIR-to-LLVM
translation.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
25ff22e390
radeonsi: tweak next-shader assumptions when streamout is used
VS with streamout is always a HW VS.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
a69afb68c9
radeonsi: use new function ac_build_umin for edgeflag clamping
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
0f9e32519b
ac/nir: clamp shadow texture comparison value on VI
Needed for TC-compatible HTILE in radeonsi for test cases like
piglit spec/arb_texture_rg/execution/fs-shadow2d-red-01.shader_test
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
ac2ab5acad
ac/nir: add always_vector argument to ac_build_gather_values_extended
This simplifies a bunch of places that no longer need special treatment
of value_count == 1. We rely on LLVM to optimize away the 1-element vector
types.
This fixes a bunch of bugs where 1-element arrays are indexed indirectly.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
e247357240
ac/nir,radeonsi: add ac_shader_abi::front_face
v2: update for LLVMValueRefs in ac_shader_abi
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
28634ff7d3
ac/nir: pass ac_nir_context to emit_ddxy
Allocating the ddxy_lds is considered to be part of the API shader
translation and not part of the ABI.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
c5f3912e13
ac/nir: pass ac_nir_context to SSBO intrinsic handlers
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
a0af3daf9c
radeonsi: implement and use ac_shader_abi::load_ssbo
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
d46018a4d7
radeonsi: make get_indirect_index globally visible
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
b78eae6f2a
ac/nir: load buffer descriptors via ac_shader_abi::load_ssbo
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
aa66fec47e
ac/nir: pass ac_nir_context to emit_discard_if
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
4ba201ee36
ac/nir: extract shader_info->fs.can_discard from NIR shader info
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
41d4016e06
radeonsi/nir: perform radeonsi-specific lowering and optimization passes
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
b49c2c9fa3
radeonsi/nir: perform lowering of input/output driver locations
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
9061dca872
ac/nir: handle old-style shadow tex instructions correctly
The first element is only extracted for new-style shadow tex.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
07597632a5
ac/nir: whitespace fixes
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
ba06e8bbe8
ac/nir: use shader_info pass to determine whether instance_id is used
This improves the separation of ABI and NIR translation.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
be0488a173
ac/nir: move setting shader_info->fs.writes_memory to radv-specific code
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
8d23575c96
radeonsi/nir: add image descriptor loading
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
f37f9aed84
ac/nir: add image and write parameter to ac_shader_abi::load_sampler_desc
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
b36b6f76fa
ac/nir: add support for arrays-of-arrays to get_sampler_desc
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
677bd47cb9
radeonsi/nir: set si_shader_context::num_{sampler,images}
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
7c27ef182c
radeonsi/nir: implement ac_shader_abi::load_sampler_desc
v2: remove enum desc_type from radeonsi (Marek)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
35b7b3a80f
ac/nir: pass ac_nir_context to tex_fetch_ptrs and related functions
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
6ff5317589
ac/nir: add and use ac_shader_abi::load_sampler_desc
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
57fbf3f9eb
ac/nir: pass ac_nir_context to visit_tex and various related functions
Get most of the churn out of the way before actually loading samplers
via the ABI.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
7763c7b2ba
ac/nir,radeonsi: add ac_shader_abi::chip_class
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
a6f597536d
radeonsi/nir: emit FS outputs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
c41a8e2ad9
radeonsi/nir: load FS inputs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
8643d41622
radeonsi/nir: load VS inputs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
d007919d99
ac/nir,radeonsi: add ac_shader_abi::load_ubo
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
220ed150bc
ac/nir: pass ac_nir_context to visit_load_ubo_buffer
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
df62e5eed0
ac/nir: pass ac_nir_context to visit_{load,store}_var and get_deref_offset helper
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
e139705c98
ac/nir: pass ac_llvm_context to some helper functions
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
cb96a36b04
ac/nir: pass ac_nir_context to visit_intrinsic
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
48737e1890
ac/nir: add ac_nir_context::main_function
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
2be774b196
ac/nir: split scanning outputs from setting up output allocas
The scanning phase sets the driver_location, because it is part of the
ABI: radeonsi does the assignment differently.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前
Nicolai Hähnle
1a508cf8d6
ac/nir: pass ac_llvm_context to *build_alloca* helpers
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
8年前