Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ac/nir: add always_vector argument to ac_build_gather_values_extended | Nicolai Hähnle | 2017-07-31 | 3 | -19/+13 |
| | | | | | | | | | | 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 <[email protected]> | ||||
* | ac/nir,radeonsi: add ac_shader_abi::front_face | Nicolai Hähnle | 2017-07-31 | 3 | -7/+15 |
| | | | | | | v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to emit_ddxy | Nicolai Hähnle | 2017-07-31 | 1 | -15/+14 |
| | | | | | | | 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 <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to SSBO intrinsic handlers | Nicolai Hähnle | 2017-07-31 | 1 | -55/+59 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: implement and use ac_shader_abi::load_ssbo | Nicolai Hähnle | 2017-07-31 | 2 | -11/+20 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: make get_indirect_index globally visible | Nicolai Hähnle | 2017-07-31 | 2 | -10/+13 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: load buffer descriptors via ac_shader_abi::load_ssbo | Nicolai Hähnle | 2017-07-31 | 2 | -8/+30 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to emit_discard_if | Nicolai Hähnle | 2017-07-31 | 1 | -8/+8 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: extract shader_info->fs.can_discard from NIR shader info | Nicolai Hähnle | 2017-07-31 | 1 | -2/+2 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: perform radeonsi-specific lowering and optimization passes | Nicolai Hähnle | 2017-07-31 | 1 | -0/+41 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: perform lowering of input/output driver locations | Nicolai Hähnle | 2017-07-31 | 3 | -0/+29 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: handle old-style shadow tex instructions correctly | Nicolai Hähnle | 2017-07-31 | 1 | -1/+3 |
| | | | | | | The first element is only extracted for new-style shadow tex. Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: whitespace fixes | Nicolai Hähnle | 2017-07-31 | 1 | -1/+1 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: use shader_info pass to determine whether instance_id is used | Nicolai Hähnle | 2017-07-31 | 3 | -2/+9 |
| | | | | | | This improves the separation of ABI and NIR translation. Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: move setting shader_info->fs.writes_memory to radv-specific code | Nicolai Hähnle | 2017-07-31 | 1 | -6/+3 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: add image descriptor loading | Nicolai Hähnle | 2017-07-31 | 3 | -8/+32 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: add image and write parameter to ac_shader_abi::load_sampler_desc | Nicolai Hähnle | 2017-07-31 | 3 | -20/+30 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: add support for arrays-of-arrays to get_sampler_desc | Nicolai Hähnle | 2017-07-31 | 1 | -5/+20 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: set si_shader_context::num_{sampler,images} | Nicolai Hähnle | 2017-07-31 | 1 | -0/+5 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: implement ac_shader_abi::load_sampler_desc | Nicolai Hähnle | 2017-07-31 | 3 | -20/+49 |
| | | | | | | v2: remove enum desc_type from radeonsi (Marek) Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to tex_fetch_ptrs and related functions | Nicolai Hähnle | 2017-07-31 | 1 | -75/+83 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: add and use ac_shader_abi::load_sampler_desc | Nicolai Hähnle | 2017-07-31 | 2 | -48/+84 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to visit_tex and various related functions | Nicolai Hähnle | 2017-07-31 | 1 | -117/+118 |
| | | | | | | | Get most of the churn out of the way before actually loading samplers via the ABI. Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir,radeonsi: add ac_shader_abi::chip_class | Nicolai Hähnle | 2017-07-31 | 3 | -0/+5 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: emit FS outputs | Nicolai Hähnle | 2017-07-31 | 1 | -10/+14 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: load FS inputs | Nicolai Hähnle | 2017-07-31 | 3 | -11/+52 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi/nir: load VS inputs | Nicolai Hähnle | 2017-07-31 | 3 | -2/+40 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir,radeonsi: add ac_shader_abi::load_ubo | Nicolai Hähnle | 2017-07-31 | 3 | -0/+19 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to visit_load_ubo_buffer | Nicolai Hähnle | 2017-07-31 | 1 | -8/+8 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to visit_{load,store}_var and get_deref_offset ↵ | Nicolai Hähnle | 2017-07-31 | 1 | -75/+75 |
| | | | | | | helper Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_llvm_context to some helper functions | Nicolai Hähnle | 2017-07-31 | 1 | -20/+20 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_nir_context to visit_intrinsic | Nicolai Hähnle | 2017-07-31 | 1 | -52/+52 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: add ac_nir_context::main_function | Nicolai Hähnle | 2017-07-31 | 1 | -0/+3 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: split scanning outputs from setting up output allocas | Nicolai Hähnle | 2017-07-31 | 1 | -8/+43 |
| | | | | | | | The scanning phase sets the driver_location, because it is part of the ABI: radeonsi does the assignment differently. Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: pass ac_llvm_context to *build_alloca* helpers | Nicolai Hähnle | 2017-07-31 | 1 | -9/+9 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: use ac_shader_abi::emit_outputs | Nicolai Hähnle | 2017-07-31 | 1 | -2/+14 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac,radeonsi: add ac_shader_abi::emit_outputs for hardware VS shaders | Nicolai Hähnle | 2017-07-31 | 3 | -11/+37 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: pass si_shader_context to get_primitive_id | Nicolai Hähnle | 2017-07-31 | 1 | -6/+5 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: translate NIR to LLVM | Nicolai Hähnle | 2017-07-31 | 4 | -4/+22 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: dump NIR instead of TGSI when appropriate | Nicolai Hähnle | 2017-07-31 | 1 | -1/+5 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: bypass the shader cache for NIR shaders | Nicolai Hähnle | 2017-07-31 | 1 | -2/+3 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: scan NIR shaders to obtain required info | Nicolai Hähnle | 2017-07-31 | 5 | -6/+335 |
| | | | | | | v2: set num_instruction to 2, i.e. 1 + END (Marek) Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: add ac_shader_abi::inputs | Nicolai Hähnle | 2017-07-31 | 2 | -0/+9 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: begin splitting off ac_nir_context | Nicolai Hähnle | 2017-07-31 | 2 | -234/+290 |
| | | | | | | | | | | | | | The eventual goal is to hide all radv-specific details behind ac_nir_context::abi, so that the NIR->LLVM code can be re-used by radeonsi. During development, we live with a partial split, where some of the NIR->LLVM code still relies on linking back to the nir_to_llvm_context (which should ultimately be renamed to reflect that it's radv-specific). The idea is to get rid of these backlinks over time. Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: add si_shader_selector::nir | Nicolai Hähnle | 2017-07-31 | 1 | -0/+3 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: implement pipe_screen::get_compiler_options for NIR | Nicolai Hähnle | 2017-07-31 | 1 | -0/+33 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: add nir include paths | Nicolai Hähnle | 2017-07-31 | 1 | -0/+1 |
| | | | | Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac/nir: start using ac_shader_abi | Nicolai Hähnle | 2017-07-31 | 1 | -20/+18 |
| | | | | | | v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <[email protected]> | ||||
* | ac,radeonsi: move some VS input descriptions to ac_shader_abi | Nicolai Hähnle | 2017-07-31 | 3 | -31/+77 |
| | | | | | | v2: use LLVM values instead of function parameter indices Reviewed-by: Marek Olšák <[email protected]> | ||||
* | radeonsi: store shader function arguments in a structure | Nicolai Hähnle | 2017-07-31 | 1 | -300/+322 |
| | | | | | | | Aligns the code a bit more with ac/nir, and simplifies the setup of ac_shader_abi. Reviewed-by: Marek Olšák <[email protected]> |