summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* xmlconfig: move into src/utilNicolai Hähnle2017-07-315-6/+5
| | | | | | | | v2: attempt to fix Android build (Emil) v3: add missing include path Reviewed-by: Marek Olšák <[email protected]> (v1)
* radeonsi: ensure that temp array allocas are in the entry blockNicolai Hähnle2017-07-311-1/+1
| | | | | | | | | Otherwise, code generation fails. This has become necessary since some shaders are wrapped in control flow. Fixes: 081ac6e5c6d2 ("radeonsi/gfx9: always wrap GS and TCS in an if-block (v2)") Cc: [email protected] Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: enable R600_DEBUG=nir for vertex and fragment shadersNicolai Hähnle2017-07-313-1/+8
| | | | | | | | | 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 <[email protected]>
* radeonsi: VS as ES/LS are not yet supported with R600_DEBUG=nirNicolai Hähnle2017-07-311-0/+2
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: lower uniforms to UBO loadsNicolai Hähnle2017-07-311-0/+10
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: lower txp instructionsNicolai Hähnle2017-07-311-0/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir,radeonsi: add and use ac_shader_abi::frag_posNicolai Hähnle2017-07-311-4/+8
| | | | | | v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <[email protected]>
* ac/nir,radeonsi: add and use ac_shader_abi::{ancillary,sample_coverage}Nicolai Hähnle2017-07-311-2/+4
| | | | | | v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: tweak next-shader assumptions when streamout is usedNicolai Hähnle2017-07-311-5/+11
| | | | | | VS with streamout is always a HW VS. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: use new function ac_build_umin for edgeflag clampingNicolai Hähnle2017-07-311-1/+1
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir,radeonsi: add ac_shader_abi::front_faceNicolai Hähnle2017-07-311-4/+12
| | | | | | v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: implement and use ac_shader_abi::load_ssboNicolai Hähnle2017-07-312-11/+20
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: make get_indirect_index globally visibleNicolai Hähnle2017-07-312-10/+13
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: perform radeonsi-specific lowering and optimization passesNicolai Hähnle2017-07-311-0/+41
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: perform lowering of input/output driver locationsNicolai Hähnle2017-07-313-0/+29
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: add image descriptor loadingNicolai Hähnle2017-07-313-8/+32
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: add image and write parameter to ac_shader_abi::load_sampler_descNicolai Hähnle2017-07-311-1/+2
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: set si_shader_context::num_{sampler,images}Nicolai Hähnle2017-07-311-0/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* 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,radeonsi: add ac_shader_abi::chip_classNicolai Hähnle2017-07-311-0/+2
| | | | 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-311-0/+14
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac,radeonsi: add ac_shader_abi::emit_outputs for hardware VS shadersNicolai Hähnle2017-07-312-11/+33
| | | | 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-313-3/+21
| | | | 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]>
* 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,radeonsi: move some VS input descriptions to ac_shader_abiNicolai Hähnle2017-07-312-31/+37
| | | | | | 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-312-0/+9
| | | | | | | 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-314-10/+26
| | | | | | | It's a duplicate of glsl_type::count_attribute_slots. 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]>
* dri_interface,egl,gallium: only expose RGBA visuals on AndroidMarek Olšák2017-07-311-1/+23
| | | | | | | | | | | | | | X/GLX can't handle them. This removes almost 500 GLX visuals that were incorrectly exposed. Add an optional getCapability callback for querying what the loader can do. I'm not splitting this patch, because it's already too small. v2: also add the callback to __DRIimageLoaderExtension Reviewed-by: Nicolai Hähnle <[email protected]> Cc: 17.2 <[email protected]>
* radeonsi: expose MRT-draw-calls to HUDMarek Olšák2017-07-314-0/+11
| | | | | Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* gallium: Fix Thomas's email addressKenneth Graunke2017-07-283-3/+3
| | | | Commit 877128505431adaf817dc8069172ebe4a1cdf5d8 misspelled Hellstrom.
* radeonsi: update dirty_level_mask only when flushing or unbinding framebufferMarek Olšák2017-07-285-43/+59
| | | | | | | | | | | | | | This fixes corruption with bindless textures in Dawn Of War 3. The do_update_surf_dirtiness mechanism was complicated and dirty_level_mask was only updated after the first draw call. The problem is bindless textures are checked for decompression every draw call and we would only decompress after the first draw call. The solution is to set dirtiness after the last draw call to the framebuffer, so the (unconditional) decompression of bindless textures happens at the right time. Cc: 17.2 <[email protected]> Tested-by: Samuel Pitoiset <[email protected]>
* radeonsi: rely on CLEAR_STATE for clearing UCP and blend color registersMarek Olšák2017-07-283-2/+12
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: rely on CLEAR_STATE for resetting the framebuffer and sample maskMarek Olšák2017-07-281-3/+10
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: use CLEAR_STATE to initialize some registersMarek Olšák2017-07-281-54/+4
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* virgl: drop precise modifier.Dave Airlie2017-07-281-0/+10
| | | | | | | | | The host doesn't understand this yet, so drop it for now. Fixes: virgl regressions. Fixes: af22adee4f (tgsi: add precise flag to tgsi_instruction) Signed-off-by: Dave Airlie <[email protected]>
* radeonsi: bail out instead of crashing if the main shader part failed to compileNicolai Hähnle2017-07-271-0/+3
| | | | Reviewed: Marek Olšák <[email protected]>
* radeonsi: update a comment for merged shadersNicolai Hähnle2017-07-271-1/+5
| | | | Reviewed: Marek Olšák <[email protected]>
* radeonsi/gfx9: dump previous stage LLVM IR for merged shadersNicolai Hähnle2017-07-271-0/+7
| | | | Reviewed: Marek Olšák <[email protected]>