summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-07-31radeonsi: add enable_sisched driconf optiondriconfNicolai Hähnle3-0/+16
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: prepare for driver-specific driconf optionsNicolai Hähnle9-1/+58
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31pipe-loader: move configuration_query into drm_helperNicolai Hähnle3-37/+43
Having it inline is pointless anyway, since it's only called via a function pointer. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31st/dri: implement v2 of DRI_ConfigOptionsNicolai Hähnle4-2/+55
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31pipe-loader: extract a standalone get_driver_descriptor helper functionNicolai Hähnle1-19/+30
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31pipe-loader: pass only the driver_name to pipe_loader_find_moduleNicolai Hähnle2-5/+5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31gallium: add driconf options to pipe_screen_configNicolai Hähnle2-0/+5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31gallium: move loading of drirc to pipe-loaderNicolai Hähnle10-59/+77
v2: rebase compile fix: addition of mesa_no_error Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
2017-07-31gallium: move driinfo XML to pipe_loaderNicolai Hähnle6-40/+46
We will switch to the pipe_loader loading the configuration options, so that they can be passed to the driver independently of the state tracker. Put the description into its own file so that it can be merged easily with driver-specific options in future commits. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31gallium: add pipe_screen_config to screen_create functionsNicolai Hähnle37-88/+118
This allows a more generic mechanism for passing user configurations into drivers by accessing the dri options directly. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31st/drm: add DRM_CONF_XML_OPTIONSNicolai Hähnle1-0/+2
Allow drivers to return the XML that describes the available config options. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31util: add merge_driinfo.pyNicolai Hähnle1-0/+222
This tool merges driinfo XML that is built using DRI_CONF_xxx macros. The intention is to merge together state-tracker options with driver-specific options. Acked-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31glx: use v2 of DRI_ConfigOptionsNicolai Hähnle1-14/+99
Most of the change is concerned with avoiding memory leaks, since v2 of the DRI extension returns a malloc'ed string. This also allows us to resolve the long-standing issue of keeping drivers loaded when returning from glXGetDriverConfig. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31dri: define a version 2 of the DRI_ConfigOptions extensionNicolai Hähnle1-2/+18
The new function is defined to return a malloc'ed pointer. In the following patches, this helps avoid leaking library handles when pipe drivers are linked dynamically. It also allows us to generate the XML string on the fly in the future. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31xmlconfig: move into src/utilNicolai Hähnle54-111/+125
v2: attempt to fix Android build (Emil) v3: add missing include path Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
2017-07-31xmlconfig: remove GL type dependenciesNicolai Hähnle1-6/+4
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: ensure that temp array allocas are in the entry blockNicolai Hähnle1-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: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: enable R600_DEBUG=nir for vertex and fragment shadersNicolai Hähnle3-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 <marek.olsak@amd.com>
2017-07-31radeonsi: VS as ES/LS are not yet supported with R600_DEBUG=nirNicolai Hähnle1-0/+2
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: lower uniforms to UBO loadsNicolai Hähnle1-0/+10
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: implement load_frag_coord intrinsicNicolai Hähnle1-0/+10
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: lower txp instructionsNicolai Hähnle1-0/+5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: pass ac_llvm_context to unpack_paramNicolai Hähnle1-18/+18
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir,radeonsi: add and use ac_shader_abi::frag_posNicolai Hähnle3-17/+26
v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir,radeonsi: add and use ac_shader_abi::{ancillary,sample_coverage}Nicolai Hähnle3-8/+10
v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir,radv: move force_persample to ac_shader_info::force_persampleNicolai Hähnle6-6/+10
Avoid accessing radv-specific structures during the meat of NIR-to-LLVM translation. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: tweak next-shader assumptions when streamout is usedNicolai Hähnle1-5/+11
VS with streamout is always a HW VS. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: use new function ac_build_umin for edgeflag clampingNicolai Hähnle3-1/+9
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: clamp shadow texture comparison value on VINicolai Hähnle1-1/+13
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>
2017-07-31ac/nir: add always_vector argument to ac_build_gather_values_extendedNicolai Hähnle3-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 <marek.olsak@amd.com>
2017-07-31ac/nir,radeonsi: add ac_shader_abi::front_faceNicolai Hähnle3-7/+15
v2: update for LLVMValueRefs in ac_shader_abi Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: pass ac_nir_context to emit_ddxyNicolai Hähnle1-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 <marek.olsak@amd.com>
2017-07-31ac/nir: pass ac_nir_context to SSBO intrinsic handlersNicolai Hähnle1-55/+59
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: implement and use ac_shader_abi::load_ssboNicolai Hähnle2-11/+20
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi: make get_indirect_index globally visibleNicolai Hähnle2-10/+13
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: load buffer descriptors via ac_shader_abi::load_ssboNicolai Hähnle2-8/+30
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: pass ac_nir_context to emit_discard_ifNicolai Hähnle1-8/+8
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: extract shader_info->fs.can_discard from NIR shader infoNicolai Hähnle1-2/+2
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: perform radeonsi-specific lowering and optimization passesNicolai Hähnle1-0/+41
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: perform lowering of input/output driver locationsNicolai Hähnle3-0/+29
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: handle old-style shadow tex instructions correctlyNicolai Hähnle1-1/+3
The first element is only extracted for new-style shadow tex. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: whitespace fixesNicolai Hähnle1-1/+1
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: use shader_info pass to determine whether instance_id is usedNicolai Hähnle3-2/+9
This improves the separation of ABI and NIR translation. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: move setting shader_info->fs.writes_memory to radv-specific codeNicolai Hähnle1-6/+3
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: add image descriptor loadingNicolai Hähnle3-8/+32
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: add image and write parameter to ac_shader_abi::load_sampler_descNicolai Hähnle3-20/+30
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: add support for arrays-of-arrays to get_sampler_descNicolai Hähnle1-5/+20
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: set si_shader_context::num_{sampler,images}Nicolai Hähnle1-0/+5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31radeonsi/nir: implement ac_shader_abi::load_sampler_descNicolai Hähnle3-20/+49
v2: remove enum desc_type from radeonsi (Marek) Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-07-31ac/nir: pass ac_nir_context to tex_fetch_ptrs and related functionsNicolai Hähnle1-75/+83
Reviewed-by: Marek Olšák <marek.olsak@amd.com>