summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi/nir: implement ac_shader_abi::load_sampler_descNicolai Hähnle2017-07-313-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 functionsNicolai Hähnle2017-07-311-75/+83
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: add and use ac_shader_abi::load_sampler_descNicolai Hähnle2017-07-312-48/+84
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: pass ac_nir_context to visit_tex and various related functionsNicolai Hähnle2017-07-311-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_classNicolai Hähnle2017-07-313-0/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: emit FS outputsNicolai Hähnle2017-07-311-10/+14
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: load FS inputsNicolai Hähnle2017-07-313-11/+52
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: load VS inputsNicolai Hähnle2017-07-313-2/+40
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir,radeonsi: add ac_shader_abi::load_uboNicolai Hähnle2017-07-313-0/+19
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: pass ac_nir_context to visit_load_ubo_bufferNicolai Hähnle2017-07-311-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ähnle2017-07-311-75/+75
| | | | | | helper Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: pass ac_llvm_context to some helper functionsNicolai Hähnle2017-07-311-20/+20
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: pass ac_nir_context to visit_intrinsicNicolai Hähnle2017-07-311-52/+52
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: add ac_nir_context::main_functionNicolai Hähnle2017-07-311-0/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: split scanning outputs from setting up output allocasNicolai Hähnle2017-07-311-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* helpersNicolai Hähnle2017-07-311-9/+9
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: use ac_shader_abi::emit_outputsNicolai Hähnle2017-07-311-2/+14
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac,radeonsi: add ac_shader_abi::emit_outputs for hardware VS shadersNicolai Hähnle2017-07-313-11/+37
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: pass si_shader_context to get_primitive_idNicolai Hähnle2017-07-311-6/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: translate NIR to LLVMNicolai Hähnle2017-07-314-4/+22
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: dump NIR instead of TGSI when appropriateNicolai Hähnle2017-07-311-1/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: bypass the shader cache for NIR shadersNicolai Hähnle2017-07-311-2/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: scan NIR shaders to obtain required infoNicolai Hähnle2017-07-315-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::inputsNicolai Hähnle2017-07-312-0/+9
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: begin splitting off ac_nir_contextNicolai Hähnle2017-07-312-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::nirNicolai Hähnle2017-07-311-0/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: implement pipe_screen::get_compiler_options for NIRNicolai Hähnle2017-07-311-0/+33
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: add nir include pathsNicolai Hähnle2017-07-311-0/+1
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: start using ac_shader_abiNicolai Hähnle2017-07-311-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_abiNicolai Hähnle2017-07-313-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 structureNicolai Hähnle2017-07-311-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]>
* gallium/targets: link against NIR when building radeonsiNicolai Hähnle2017-07-316-0/+8
| | | | Reviewed-by: Marek Olšák <[email protected]>
* st/glsl_to_nir: move nir_lower_io to driversNicolai Hähnle2017-07-313-2/+10
| | | | | | | This allows drivers more freedom in how exactly they want to lower I/O, e.g. first lowering I/O to temporaries. Reviewed-by: Marek Olšák <[email protected]>
* st/mesa: get rid of st_glsl_typesNicolai Hähnle2017-07-3110-173/+42
| | | | | | | It's a duplicate of glsl_type::count_attribute_slots. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* st/glsl_to_nir: use nir_lower_samplers_as_deref when requested by the driverNicolai Hähnle2017-07-311-1/+6
| | | | Reviewed-by: Marek Olšák <[email protected]>
* st/glsl_to_nir: fix the case where NIR clone testing is enabledNicolai Hähnle2017-07-311-1/+2
| | | | | | | In that case, prog->nir must be assigned at the end. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium: add PIPE_CAP_NIR_SAMPLERS_AS_DEREFNicolai Hähnle2017-07-3117-0/+18
| | | | Reviewed-by: Marek Olšák <[email protected]>
* nir: add nir_lower_uniforms_to_ubo passNicolai Hähnle2017-07-313-0/+99
| | | | | | | | | | This is a further lowering of default-block uniform loads that transforms load_uniform intrinsics into load_ubo intrinsics. This simplifies the rest of the backend. v2: transform from load_uniform instead of straight from variables Reviewed-by: Eric Anholt <[email protected]>
* nir: add nir_lower_samplers_as_deref passNicolai Hähnle2017-07-315-0/+255
| | | | | | This pass is a replacement for the nir_lower_samplers pass, which has the advantage of keeping sampler references as derefs. This allows a unified treatment of texture instructions and image intrinsics in the backend.
* nir: add load_frag_coord system value intrinsicNicolai Hähnle2017-07-313-0/+6
| | | | | | | Some drivers prefer to treat gl_FragCoord as a system value rather than a fragment shader input, see Const.GLSLFragCoordIsSysVal. Reviewed-by: Jason Ekstrand <[email protected]>
* nir: fix nir_lower_wpos_ytransform when gl_FragCoord is a system valueNicolai Hähnle2017-07-311-2/+4
| | | | Reviewed-by: Jason Ekstrand <[email protected]>
* nir: add nir_instr_rewrite_derefNicolai Hähnle2017-07-312-0/+15
| | | | | | Allows modifying a texture instruction's texture and sampler derefs. Reviewed-by: Jason Ekstrand <[email protected]>
* mesa: add KHR_no_error support to glPointSize()Samuel Pitoiset2017-07-313-1/+12
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add point_size() helperSamuel Pitoiset2017-07-311-8/+15
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support to glVertexArrayElementBuffer()Samuel Pitoiset2017-07-313-1/+12
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add vertex_array_element_buffer() helperSamuel Pitoiset2017-07-311-21/+38
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support to glTextureSubImage*D()Samuel Pitoiset2017-07-313-3/+71
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add texturesubimage_error() helperSamuel Pitoiset2017-07-311-30/+45
| | | | | | | And make texturesubimage() always inline. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support to glDetachShader() and glDetachObjectARB()Samuel Pitoiset2017-07-313-2/+31
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add detach_shader_error() helperSamuel Pitoiset2017-07-311-9/+21
| | | | | | | And make detach_shader() always inline. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>