aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler
Commit message (Collapse)AuthorAgeFilesLines
* glsl: lower mediump integer types to int16 and uint16Marek Olšák2020-06-025-51/+834
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* glsl: handle int16 and uint16 types and add instructions for mediumpMarek Olšák2020-06-0210-73/+437
| | | | | | | | v2: add more changes to ir_validate.cpp Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* glsl: treat lowp as mediump when lowering builtinsMarek Olšák2020-06-021-2/+4
| | | | | | | | This seems to have been missed. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* nir: add options::vectorize_vec2_16bit to limit vectorization to vec2 16Marek Olšák2020-06-022-15/+28
| | | | | | | | for hardware that is scalar but can do 2 16-bit operations on low and high 16 bits of registers at once. Acked-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* nir: fix lower_wpos for 16-bit fddyMarek Olšák2020-06-021-2/+5
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* nir: lower int16 and uint16 in nir_lower_mediump_outputsMarek Olšák2020-06-021-24/+36
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* nir: add int16 and uint16 type helpersMarek Olšák2020-06-024-0/+46
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* nir: add i2imp and u2ump opcodes for conversions to mediumpMarek Olšák2020-06-022-6/+21
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* nir: Fold f2f16(b2f32(x)) to b2f16(x)Alyssa Rosenzweig2020-06-021-0/+2
| | | | | | | | | | | | | By definition. This reduces register pressure on freedreno so that the noubo expected failure goes away. Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5002>
* meson: use gnu_symbol_visibility argumentDylan Baker2020-06-015-29/+51
| | | | | | | | | | This uses a meson builtin to handle -fvisibility=hidden. This is nice because we don't need to track which languages are used, if C++ is suddenly added meson just does the right thing. Acked-by: Matt Turner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>
* nir: lower_tex: Don't normalize coordinates for TXF with RECTGert Wollny2020-05-281-1/+2
| | | | | | | | | | | | | | v2: remove the option to actually request normalization and its application in Intel < Gen6 (Jason) v3: Also don't lower for query operations (Jason) Fixes: 1ce8060c25c7f2c7a54159fab6a6974c0ba182a8 nir/lower_tex: support for lowering RECT textures Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5105>
* spirv,radv,anv: implement no-op VK_GOOGLE_user_typeSamuel Pitoiset2020-05-282-0/+6
| | | | | | | | | | | | | | This extension only allows HLSL shader compilers to optionally embed unambiguous type information which can be safely ignored by the driver. This fixes a crash with the recent Vulkan backend of Path Of Exile (it uses the extension without checking if it's supported). Cc: <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Tested-by: Edmondo Tommasina <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5237>
* iris, i965: Drop max_variable_local_sizeCaio Marcelo de Oliveira Filho2020-05-271-1/+0
| | | | | | | | | This was used to decide which SIMD width to generate code for ARB_compute_variable_group_size. Now that compiler will generate multiple SIMD widths, this information is unused. Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142>
* glsl: fix slow linking of uniforms in the nir linkerTimothy Arceri2020-05-271-9/+81
| | | | | | | | | | | | | | | | Currently the nir linker resizes the amount of storage needed to hold uniform information on the fly while linking. As shaders can contain thousands of uniforms this can be very slow. For example some Godot shaders can take 30 seconds to compile on some machines. In this change we count the amount of storage needed before we start processing the uniforms. This is what the GLSL IR linker does also. Fixes: 95f555a93a88 ("st/glsl_to_nir: make use of nir linker for linking uniforms") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2996 Reviewed-by: Alejandro Piñeiro <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5137>
* glsl: stop cascading errors if process_parameters() failsTimothy Arceri2020-05-271-3/+6
| | | | | | | | | | | | | | | | | | | | | Generally we do not completely stop compilation as soon as we see an error, instead we continue on to attemp to find any futher errors. This means we shouldn't be checking state->error to see if any error has happened during the compilation process, doing so was causing process_parameters() to fail on completely valid functions if there was any error found in the shader previously. This then caused the valid functions not to be found because the paramlist was considered empty, resulting in the compiler spewing out misleading error messages. Here we simply add the IR error value to the param list when we have an issue with processing a parameter, this leads to much better error messaging. Fixes: 53e4159eaaf6 ("glsl: stop processing function parameters if error happened") Reviewed-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5205>
* nir: Fix sources for image atomic faddJason Ekstrand2020-05-261-1/+1
| | | | | | | | | | Somehow we ended up with an extra scalar source up-front. It doesn't look like any drivers use this opcode yet so no real harm has been done by it being wrong. Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5218>
* glsl: Use SATURATEAlyssa Rosenzweig2020-05-261-2/+2
| | | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5100>
* nir: fix lowering to scratch with boolean accessRhys Perry2020-05-261-6/+7
| | | | | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Fixes: 18ed82b084c79bf63666f2da22e5d675fb01aa26 ('nir: Add a pass for selectively lowering variables to scratch space') Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5214>
* glsl: cleanup vertex shader input checksMarcin Ślusarz2020-05-261-17/+13
| | | | | | Signed-off-by: Marcin Ślusarz <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5133>
* nir: Add un/pack_32_4x8 opcodesAlyssa Rosenzweig2020-05-251-0/+7
| | | | | | | | | | Complement the existing un/pack_32_2x16 opcodes. These are useful for 8-bit format packing. On Midgard, they are equivalent to just a 32-bit move, but other GPUs could lower to other packs if needed. Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5107>
* nir: replace fnv1a hash function with xxhashDmitriy Nester2020-05-255-18/+17
| | | | | | | | | xxhash is faster than fnv1a in almost all circumstances, so we're switching to it globally. Signed-off-by: Dmytro Nester <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4020>
* spirv: add support for bias/lod with OpImageGatherSamuel Pitoiset2020-05-251-3/+5
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5147>
* spirv: add SpvCapabilityImageGatherBiasLodAMDSamuel Pitoiset2020-05-252-0/+5
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5147>
* glsl: subroutine signatures must match exactlyYevhenii Kolesnikov2020-05-241-0/+3
| | | | | | | | | | | | | | From GLSL 4.60.7 spec, section 6.1.2 "Subroutines": It is a compile-time error if arguments and return type don’t match between the function and each associated subroutine type. Before, if subroutine type and implementation function were declared with types, that could be implicitly converted, it led to a runtime crash. Signed-off-by: Yevhenii Kolesnikov <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5125>
* spirv: add ReadClockKHR support with device scopeSamuel Pitoiset2020-05-244-2/+18
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5117>
* tree-wide: fix deprecated GitLab URLsEric Engestrom2020-05-231-1/+1
| | | | | | | | | | | | | They will stop working in the next GitLab release, so let's update them ASAP to make sure things are propagated to everyone by then. See: https://about.gitlab.com/releases/2020/05/06/gitlab-com-13-0-breaking-changes/#removal-of-deprecated-project-paths Cc: [email protected] Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5111>
* nir/copy_prop_vars: Record progress in more placesJason Ekstrand2020-05-221-0/+3
| | | | | | Fixes: 96c32d7776 "nir/copy_prop_vars: handle load/store of vector..." Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>
* nir/opt_deref: Report progress if we remove a derefJason Ekstrand2020-05-221-1/+3
| | | | | | Fixes: a1c688517de "nir/opt_deref: Properly optimize ptr_as_array..." Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>
* nir/lower_double_ops: Rework the if (progress) treeJason Ekstrand2020-05-221-1/+8
| | | | | | Fixes: d7d35a9522 "nir/lower_doubles: Use the new NIR lowering..." Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>
* glsl: Remove integer matrix support from ↵Ian Romanick2020-05-211-9/+1
| | | | | | | | | | | ir_dereference_array::constant_expression_value It looks like this code has existed since day 1, but I have no idea why. There have never been integer matrices in GLSL. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Sagar Ghuge <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5135>
* compiler: delete leftover autotools test wrapperEric Engestrom2020-05-203-9/+0
| | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5114>
* tests: Make tests aware of meson test wrapperDylan Baker2020-05-203-22/+55
| | | | | | | | | | | | | | | | Meson 0.55.0 will set the MESON_EXE_WRAPPER environment variable to the joined version of that wrapper if it is needed. Our tests that take compiled targets as arguments can use that information to run cross built binaries, or if there isn't a wrapper and we get an ENOEXEC, we can skip the tests gracefully. We try to use mesonlib.split_args, which handles windows arguments better than python's builtin shlex module, but fall back to that if the meson module isn't available for some reason. Cc: 20.0 20.1 <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5103>
* glsl_type: don't serialize padding bytes from glsl_struct_fieldAndrii Simiklit2020-05-202-100/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix such valgrind warnings: ==37417== Uninitialised byte(s) found during client check request ==37417== at 0x6183471: blob_write_bytes (blob.c:163) ==37417== by 0x629785B: encode_type_to_blob (glsl_types.cpp:2760) ==37417== by 0x61E68D8: write_variable (nir_serialize.c:293) ==37417== by 0x61E6F6A: write_var_list (nir_serialize.c:421) ==37417== by 0x61EBA7A: nir_serialize (nir_serialize.c:2018) ==37417== by 0x5B5E007: serialize_nir_part (brw_program_binary.c:135) ==37417== by 0x5B5E7F3: brw_serialize_program_binary (brw_program_binary.c:299) ==37417== by 0x5FEF5FF: write_program_payload (program_binary.c:177) ==37417== by 0x5FEF7BB: _mesa_get_program_binary_length (program_binary.c:225) ==37417== by 0x5E3D31D: get_programiv (shaderapi.c:912) ==37417== by 0x5E3F730: _mesa_GetProgramiv (shaderapi.c:1827) ==37417== by 0x111DA0: program_binary_save_restore (shader_runner.c:686) ==37417== Address 0x8f59481 is 81 bytes inside a block of size 480 alloc'd ==37417== at 0x483B7F3: malloc (vg_replace_malloc.c:309) ==37417== by 0x618CE67: ralloc_size (ralloc.c:123) ==37417== by 0x618CF35: rzalloc_size (ralloc.c:155) ==37417== by 0x618D245: rzalloc_array_size (ralloc.c:234) ==37417== by 0x629041D: glsl_type::glsl_type(glsl_struct_field const*, unsigned int, glsl_interface_packing, bool, char const*) (glsl_types.cpp:148) ==37417== by 0x6293EC3: glsl_type::get_interface_instance(glsl_struct_field const*, unsigned int, glsl_interface_packing, bool, char const*) (glsl_types.cpp:1271) ==37417== by 0x604C878: (anonymous namespace)::per_vertex_accumulator::construct_interface_instance() const (builtin_variables.cpp:365) ==37417== by 0x6050722: (anonymous namespace)::builtin_variable_generator::generate_varyings() (builtin_variables.cpp:1568) ==37417== by 0x60509CA: _mesa_glsl_initialize_variables(exec_list*, _mesa_glsl_parse_state*) (builtin_variables.cpp:1600) ==37417== by 0x6149AE9: _mesa_ast_to_hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:131) ==37417== by 0x60706D6: _mesa_glsl_compile_shader (glsl_parser_extras.cpp:2222) ==37417== by 0x5E3DC16: _mesa_compile_shader (shaderapi.c:1211) ==37417== Use of uninitialised value of size 8 ==37417== at 0x529AE13: ??? (in /usr/lib/x86_64-linux-gnu/libz.so.1.2.11) ==37417== by 0x6184075: util_hash_crc32 (crc32.c:127) ==37417== by 0x5FEF401: write_program_binary (program_binary.c:95) ==37417== by 0x5FEF8BC: _mesa_get_program_binary (program_binary.c:252) ==37417== by 0x5E40E22: _mesa_GetProgramBinary (shaderapi.c:2411) ==37417== by 0x4914057: stub_glGetProgramBinary (piglit-dispatch-gen.c:24737) ==37417== by 0x111E4A: program_binary_save_restore (shader_runner.c:704) ==37417== by 0x11F765: piglit_display (shader_runner.c:5112) ==37417== by 0x499082F: run_test (piglit_fbo_framework.c:52) ==37417== by 0x4980E89: piglit_gl_test_run (piglit-framework-gl.c:229) ==37417== by 0x110DA9: main (shader_runner.c:72) v2: - decode_glsl_struct_field_from_blob and encode_glsl_struct_field should be `static` ( Pierre-Eric Pelloux-Prayer <[email protected]> ) v3: - we can get rid of `struct packed_struct_field_flags` ( Tapani Pälli <[email protected]> ) - we can get rid of `unsigned __pad: 15` bitfield ( Pierre-Eric Pelloux-Prayer <[email protected]> ) Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Signed-off-by: Andrii Simiklit <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5054>
* nir: Add const to nir_intrinsic_src_componentsJason Ekstrand2020-05-191-1/+1
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5108>
* nir: Add fclamp_pos opcodeAlyssa Rosenzweig2020-05-191-0/+1
| | | | | | | | | Corresponds to the .pos modifier on all Mali GPUs (lima and panfrost). Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102>
* nir: Add fsat_signed opcodeAlyssa Rosenzweig2020-05-191-0/+1
| | | | | | | | | Exists on later Mali. Equivalent to clamp(x, -1.0, 1.0) Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5102>
* nir: Add a store_reg helper and use the builder in phis_to_regsJason Ekstrand2020-05-192-21/+25
| | | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5094>
* nir: Add a new helper for iterating phi sources leaving a blockJason Ekstrand2020-05-193-15/+30
| | | | | | | | | This takes the same callback as nir_foreach_src except it walks all phi sources which leave a given block. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5094>
* nir/clone: Re-use clone_alu for nir_alu_instr_cloneJason Ekstrand2020-05-191-21/+17
| | | | | | | | | | | | All it takes are a couple small tweaks to the clone infrastructure to allow us to use it without any remap table at all. This reduces code duplication and the chances for bugs that come with it. In particular, the hand-rolled nir_alu_instr_clone didn't preserve no_[un]signed_wrap, or source/destination modifiers. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5094>
* nir/opt_if: use nir_src_as_bool in opt_peel_loop_initial_if helperRhys Perry2020-05-191-12/+10
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4757>
* nir/opt_if: run opt_peel_loop_initial_if after all other optimizationsRhys Perry2020-05-191-5/+44
| | | | | | | | | | | | | Fixes dEQP-VK.graphicsfuzz.loops-ifs-continues-call with RADV. opt_if_loop_terminator can cause this optimization or opt_if_simplification to be run on the non-SSA code. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Fixes: 52c8bc0130a ('nir: make opt_if_loop_terminator() less strict') Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2943 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4757>
* nir: Add documentation for each jump instruction typeJason Ekstrand2020-05-191-0/+18
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5101>
* nir: Use a switch statement in nir_handle_add_jumpJason Ekstrand2020-05-191-13/+20
| | | | | | | Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5101>
* nir: Validate jump instructions as an instruction typeJason Ekstrand2020-05-191-30/+39
| | | | | | | | | | | | | | This has the downside of putting block successor validation in two places that are a bit further apart. However, handling them as a special case makes the code more confusing than needed. At least two different people have not noticed that we don't have jump instruction validation in the last week or two and added it. Being able to search for validate_jump_instr is useful. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5101>
* nir: Consider atomic counter intrinsics when setting writes_memoryCaio Marcelo de Oliveira Filho2020-05-181-0/+22
| | | | | | | | | | | | | | In i965 these get lowered after gather info, so let's consider them too. Fixes piglit.spec.arb_framebuffer_no_attachments.arb_framebuffer_no_attachments-atomic in Gen9, HSW and IVB. Fixes: 6a6c36e9776 ("intel/fs: Use writes_memory from shader_info") Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5093>
* nir: Use deref intrinsics to set writes_memory when gathering infoCaio Marcelo de Oliveira Filho2020-05-181-0/+29
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4815>
* spirv: handle OpCopyObject correctly with any typesSamuel Pitoiset2020-05-153-6/+37
| | | | | | | | | | | | | | | | This implements OpCopyObject as a blind copy and propagates the access mask properly even if the source object type isn't a SSA value. This fixes some recent dEQP-VK.descriptor_indexing.* failures since CTS changed and now apply nonUniformEXT after constructing a combined image/sampler. Original patch is from Jason Ekstrand. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4909>
* nir: Use 8-bit types for most info fieldsJason Ekstrand2020-05-152-11/+11
| | | | | | | | | This shrinks nir_intrinsics.c.o from 73K to 35K and nir_opcodes.c.o from 64K to 31K on a release build. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5045>
* Revert "nir/validate: validate the stride for deref_ptr_as_array"Karol Herbst2020-05-141-1/+0
| | | This reverts commit 667e14e7bd759a77e732c4de09fb978ee3816eaf
* nir/validate: validate the stride for deref_ptr_as_arrayKarol Herbst2020-05-141-0/+1
| | | | | | Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4068>