summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* glsl: add preprocessor #include supportTimothy Arceri2019-11-207-4/+194
| | | | Reviewed-by: Witold Baryluk <[email protected]>
* glsl: pass gl_context to glcpp_parser_create()Timothy Arceri2019-11-203-7/+7
| | | | | | This is a small tidy up and will be useful in the following commit. Reviewed-by: Witold Baryluk <[email protected]>
* glsl: add ARB_shading_language_include support to #lineTimothy Arceri2019-11-207-8/+80
| | | | | | | | | | | | | | | | | | | | | | From the ARB_shading_language_include spec: "#line must have, after macro substitution, one of the following forms: #line <line> #line <line> <source-string-number> #line <line> "<path>" where <line> and <source-string-number> are constant integer expressions and <path> is a valid string for a path supplied in the #include directive. After processing this directive (including its new-line), the implementation will behave as if it is compiling at line number <line> and source string number <source-string-number> or <path> path. Subsequent source strings will be numbered sequentially, until another #line directive overrides that numbering." Reviewed-by: Witold Baryluk <[email protected]>
* mesa: implement glDeleteNamedStringARB()Timothy Arceri2019-11-201-0/+25
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: split _mesa_lookup_shader_include() in twoTimothy Arceri2019-11-201-4/+14
| | | | | | | | The new local function lookup_shader_include() will be used by glDeleteNamedStringARB() in the following patch. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: implement glGetNamedStringivARB()Timothy Arceri2019-11-201-0/+28
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: implement glIsNamedStringARB()Timothy Arceri2019-11-201-1/+14
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: make error checking optional in _mesa_lookup_shader_include()Timothy Arceri2019-11-202-10/+19
| | | | | | | | | This will be usefull when implementing glIsNamedStringARB() which doesn't do error checking, it just returns false for invalid lookups instead. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: implement glGetNamedStringARB()Timothy Arceri2019-11-201-0/+22
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add glNamedStringARB() supportTimothy Arceri2019-11-201-0/+59
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add copy_string() helperTimothy Arceri2019-11-201-0/+20
| | | | | | | | This will be used by the various ARB_shading_language_include functions in the following patches. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add _mesa_lookup_shader_include() helperTimothy Arceri2019-11-202-0/+37
| | | | | | | This will be used both by the glsl compiler and the GL API. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add helper to validate tokenise shader include pathTimothy Arceri2019-11-201-0/+82
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add ARB_shading_language_include infrastructure to gl_shared_stateTimothy Arceri2019-11-204-0/+77
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* glsl: add infrastructure for ARB_shading_language_includeTimothy Arceri2019-11-203-0/+4
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* mesa: add ARB_shading_language_include stubsTimothy Arceri2019-11-206-7/+115
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Witold Baryluk <[email protected]>
* radv: Do not change scratch settings while shaders are active.Bas Nieuwenhuizen2019-11-204-55/+105
| | | | | | | | | | | When the scratch ringbuffer settings are changed, the shader unit has to be idle or we will have shaders using old and new settings. That combination is not supported on the HW (likely the offset is ringbuffer idx * WAVESIZE * 1024). CC: <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* turnip: Drop the copy of the formats table.Eric Anholt2019-11-196-738/+83
| | | | | | | | | | | | | | | | | Now that we can (mostly) generate a pipe format for a VkFormat, use that to answer queries about formats. This will let us refactor the freedreno format table surface layout code to be shared between gallium and vulkan. This causes us to expose fewer formats for now (on a 1/100 CTS run I'm doing, skips go from 3671 to 3835 out of 5145 tests). Fails stay about the same (478 -> 434, but the run is pretty flaky and we're doing fewer tests now). v2: Rebase on master, throw a finishme on missing vk-to-pipe formats that tu used to support. Reviewed-by: Kristian H. Kristensen <[email protected]> (v1) Reviewed-by: Jonathan Marek <[email protected]>
* util: Add a mapping from VkFormat to PIPE_FORMAT.Eric Anholt2019-11-193-0/+262
| | | | | | | I'm planning on using this from radv and tu for queries about formats. Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>
* winsys/amdgpu: detect noop dependencies on the same ring correctlyMarek Olšák2019-11-191-6/+9
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: fill num_rings for remaining IPsMarek Olšák2019-11-192-4/+23
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: add radeon_info::num_rings and move ring_type to amd_family.hMarek Olšák2019-11-1910-39/+29
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* nir: don't use GLenum16 in nir.hMarek Olšák2019-11-191-2/+1
| | | | Reviewed-by: Connor Abbott <[email protected]>
* nir: move data.descriptor_set above data.index for better packingMarek Olšák2019-11-191-4/+4
| | | | | | 4 bytes down Reviewed-by: Connor Abbott <[email protected]>
* glsl_to_nir: rename image_access to mem_accessMarek Olšák2019-11-191-12/+12
| | | | Reviewed-by: Connor Abbott <[email protected]>
* nir/print: only print image.format for image variablesMarek Olšák2019-11-191-44/+46
| | | | Reviewed-by: Connor Abbott <[email protected]>
* nir: move data.image.access to data.accessMarek Olšák2019-11-1916-34/+35
| | | | | | The size of the data structure doesn't change. Reviewed-by: Connor Abbott <[email protected]>
* st/mesa: call nir_serialize only once per shaderMarek Olšák2019-11-193-22/+25
| | | | | | It was called twice. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: keep serialized NIR instead of nir_shader in st_programMarek Olšák2019-11-194-11/+69
| | | | | | | | | | This decreases memory usage, because serialized NIR is more compact. If shader_has_one_variant is true and the shader is uncached, the first variant is created from nir_shader, otherwise the first variant and all other variants are created from serialized NIR. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: call nir_sweep in st_finalize_nirMarek Olšák2019-11-192-2/+3
| | | | | This is invoked sooner before (pre-)compiling the first variant and is also applied to fixed-func and ARB programs.
* st/mesa: subclass st_vertex_program for VP-specific membersMarek Olšák2019-11-199-80/+92
| | | | | | | Inheritance: gl_program -> st_program -> st_vertex_program Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: more cleanups after unification of st_vertex/common_programMarek Olšák2019-11-191-44/+19
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: rename occurences of stcp to stp to correspond to st_programMarek Olšák2019-11-193-23/+23
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: cleanups after unification of st_vertex/common programMarek Olšák2019-11-194-140/+55
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: rename st_common_program to st_programMarek Olšák2019-11-1917-131/+131
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: trivially merge st_vertex_program into st_common_programMarek Olšák2019-11-1914-103/+69
| | | | | | | a later commit will add back st_vertex_program as a subclass of st_common_program Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: consolidate and simplify code flagging program::affected_statesMarek Olšák2019-11-195-30/+20
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: initialize affected_states and uniform storage earlier in deserializeMarek Olšák2019-11-191-3/+3
| | | | | | | | | | This matches the uncached codepath. affected_states was used before initialization, which was technically a bug, but probably not reproducible due to _NEW_PROGRAM rebinding everything. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: start deduplicating some program codeMarek Olšák2019-11-194-13/+13
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: decrease the size of st_fp_variant_key from 48 to 40 bytesMarek Olšák2019-11-191-3/+3
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* st/mesa: rename delete_basic_variant -> delete_common_variantMarek Olšák2019-11-191-4/+4
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* anv: add missing "fall-through" annotationEric Engestrom2019-11-191-0/+1
| | | | | | | CoverityID: 1455884 Fixes: c1c346f1667375e9330a ("anv: implement VK_KHR_separate_depth_stencil_layouts") Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* intel: Add workaround for stencil state.Rafael Antognolli2019-11-193-0/+40
| | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Sagar Ghuge <[email protected]>
* turnip: fix sRGB GMEM clearJonathan Marek2019-11-191-6/+17
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* turnip: implement CmdClearColorImage/CmdClearDepthStencilImageJonathan Marek2019-11-1910-35/+195
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* radv/aco: enable VK_KHR_shader_subgroup_extended_typesRhys Perry2019-11-191-1/+1
| | | | | | | | | | We could enable it on GFX10 if LLVM wasn't used as a fallback for unsupported stages. Note that the CTS only tests it if VK_KHR_shader_float16_int8 is enabled, even though it's not a requirement. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* aco: implement 64-bit integer reductionsRhys Perry2019-11-193-10/+240
| | | | | | | | | | | | | | | The multiplication reduction is larger than it could be, but it should be easier to implement this way. No failures with dEQP-VK.subgroups.*int64* except those caused by LLVM being used for other stages. v2: don't call setFixed() for v_add carry-out, since setHint sets physReg v3: add and use emit_vadd32() helper v4: use num_opcodes instead of last_opcode Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> (v3)
* aco: refactor reduction lowering helpersRhys Perry2019-11-191-174/+115
| | | | | | | | | Should make 64-bit integer reductions easier to implement. v4: use num_opcodes instead of last_opcode Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> (v3)
* radv: advertise VK_KHR_shader_subgroup_extended_types on GFX8-GFX9Samuel Pitoiset2019-11-192-0/+7
| | | | | | | | | | | This extension allows to use subgroup operations with 8 and 16-bits Untested on GFX6-GFX7, and most of subgroup operations are broken on GFX10, so don't enable it for now. Not enabled on ACO because it's still doesn't support 8-bits/16-bits. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac: add 16-bit float support to ac_build_alu_op()Samuel Pitoiset2019-11-191-4/+5
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>