summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* anv/pipeline: Silently pass tests if depth or stencil is missingJason Ekstrand2016-06-143-3/+35
| | | | | | Signed-off-by: Jason Ekstrand <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit 56a178922fa200c98cbbb177e5fab106ad01072b)
* anv/pipeline: Unify gen7/8 emit_ds_stateJason Ekstrand2016-06-143-85/+60
| | | | | | | Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit bc7f7e195389e334ae8a5ee7d6f85b9e27983ca4)
* genxml/gen6,7,75: s/BackFace/BackfaceJason Ekstrand2016-06-145-8/+8
| | | | | | | | | This is more consistent with gen8+ Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit fdc3c5dd05dc072fe9b4975091308d02e6df6037)
* nir/spirv: Handle the WorkgroupSize builtin decorationJason Ekstrand2016-06-141-0/+22
| | | | | | | | | | This fixes the 7 dEQP-VK.pipeline.spec_constant.compute.local_size.* tests in the latest dev version of the Vulkan CTS. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit 1f7b54ed299bea95f774e7d8baa181c11118b3fe)
* nir/spirv: Use breaks instead of returns in constant handlingJason Ekstrand2016-06-141-3/+4
| | | | | | | Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit b26cdd65e8e588ed7bdd7cca0b205579132e1261)
* anv/pipeline: Refactor specialization constant handling a bitJason Ekstrand2016-06-141-5/+4
| | | | | | | Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit a19ae36ce52e72e2b93251ba0a43d683bd5e58cc)
* nir/lower_indirect_derefs: Use the direct array deref for recursionJason Ekstrand2016-06-141-1/+1
| | | | | | | | | This fixes about 100 of the new Vulkan CTS tests. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit 45542f554ca01b00b3d4674cf90575dff7904736)
* anv/clear: Handle ClearImage on 3-D imagesJason Ekstrand2016-06-141-2/+4
| | | | | | | Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit 59f06ac3892fefd55b8f1371b48f9e0d99cc7c23)
* Revert "i965/fs: Allow scalar source regions on SNB math instructions."Francisco Jerez2016-06-143-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c1107cec44ab030c7fcc97c67baa12df1cc9d7b5. Apparently the hardware spec text I quoted in the commit message was outright lying about scalar source math being supported on SNB, the hardware seems to load 32 contiguous bits of data for each channel regardless of the regioning mode. Fixes regressions in the following CTS tests (which we didn't catch early due to CTS being temporarily disabled in our CI system): es2-cts.gtf.gl.atan.atan_vec3_frag_xvary es2-cts.gtf.gl.cos.cos_vec2_frag_xvary es2-cts.gtf.gl.atan.atan_vec2_frag_xvary es2-cts.gtf.gl.pow.pow_vec2_frag_xvary_yconsthalf es2-cts.gtf.gl.cos.cos_float_frag_xvary es2-cts.gtf.gl.pow.pow_float_frag_xvary_yconsthalf es2-cts.gtf.gl.atan.atan_vec3_frag_xvaryyvary es2-cts.gtf.gl.pow.pow_vec3_frag_xvary_yconsthalf es2-cts.gtf.gl.cos.cos_vec3_frag_xvary es2-cts.gtf.gl.atan.atan_vec2_frag_xvaryyvary Cc: [email protected] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96346 Reported-by: Mark Janes <[email protected]> Acked-by: Matt Turner <[email protected]> (cherry picked from commit 7244dc1e0651958b62222cafb15e34487851a6cd)
* i965/vec4: Fix cmod propagation not to propagate non-identity cmod into CMP(N).Francisco Jerez2016-06-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | The conditional mod of these instructions determines the semantics of the comparison itself (rather than being evaluated based on the result of the instruction as is usually the case for most other instructions that allow conditional mods), so it's in general not legal to propagate a conditional mod into a CMP instruction. This prevents cmod propagation from (mis)optimizing: cmp.z.f0 tmp, ... mov.z.f0 null, tmp into: cmp.z.f0 tmp, ... which gives the negation of the flag result of the original sequence. I originally noticed this while working on SIMD32 in the scalar back-end, but the same scenario is likely to be possible in vec4 programs so this commit ports the bugfix with the same name from the scalar back-end to the vec4 cmod propagation pass. Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit a2135c6fd95d3e48f222a702c2b814e3cf37eb7d)
* anv: add the X related and Wayland CFLAGS to VULKAN_ENTRYPOINT_CPPFLAGSEmil Velikov2016-06-141-0/+2
| | | | | | | | | | | Otherwise we will fail to find the headers in some scenarios. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reported-by: Tobias Klausmann <[email protected]> Tested-by: Tobias Klausmann <[email protected]> Reviewed-by: Tobias Klausmann <[email protected]> (cherry picked from commit 7a3a0d921235712fa8d22f85552cc382a793ce95)
* mesa/get: return correct value for layer provoking vertex.Dave Airlie2016-06-101-1/+1
| | | | | | | | | | | | This fixes: GL45-CTS.geometry_shader.layered_rendering.layered_rendering on Skylake. Reviewed-by: Chris Forbes <[email protected]> Cc: "11.2 12.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit d10ae20b9678f1a5b8a81716c68e612662665277)
* nvc0: mark buffer texture range valid for shader imagesSamuel Pitoiset2016-06-103-0/+31
| | | | | | | | | Loosely based on radeonsi (Thanks to Nicolai). Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Cc: 12.0 <[email protected]> (cherry picked from commit 28590eb9492f2e06c95483df7bd7f67b0fee7b8e)
* i965/fs: Reindent emit_zip().Francisco Jerez2016-06-101-14/+14
| | | | | | Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 060c8d245deb83aeb412de98810cad6052aafb78)
* i965/fs: Skip SIMD lowering destination zipping if possible.Francisco Jerez2016-06-101-0/+55
| | | | | | | | | | | | | | | | | | | Skipping the temporary allocation and copy instructions is easy (just return dst), but the conditions used to find out whether the copy can be optimized out safely without breaking the program are rather complex: The destination must be exactly one component of at most the execution width of the lowered instruction, and all source regions of the instruction must be either fully disjoint from the destination or be aligned with it group by group. v2: Don't handle partial source-destination overlap for simplicity (Jason). No instruction count regressions with respect to v1 in either shader-db or the few FP64 shader_runner test-cases with partial overlap I've checked manually. Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 7aa76d66a1f5edad9e8c1d54aafdce99ffa6c345)
* blorp: Fix 16x multisample scaled blitsAnuj Phogat2016-06-101-7/+10
| | | | | | | | | | Piglit test ext_framebuffer_multisample_blit_scaled-blit-scaled (with added 16x sample support) now passes with this patch. Cc: "12.0" <[email protected]> Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 75da9c9933a97e6f2baf0884b98350df800ee785)
* mesa/copyimage: report INVALID_VALUE for missing cube faceDave Airlie2016-06-101-1/+1
| | | | | | | | | | | | | The specs says INVALID_VALUE for exceeding dimensions, which is really what is happening here. This fixes: GL45-CTS.copy_image.non_existent_mipmap Cc: "11.2 12.0" <[email protected]> Reviewed-by: Antia Puentes <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit af7bf610cf74c6805f42babbcf85bc88b2b9453d)
* mesa/copyimage: fix num samples check to handle renderbuffers.Dave Airlie2016-06-101-4/+7
| | | | | | | | | | | | | This test was only happening for textures, but there is nothing in the spec to say this, so test it for all cases. This fixes: GL45-CTS.copy_image.invalid_target Cc: "11.2 12.0" <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit c0856eacf1f76f294e2b89eb7250580517018567)
* mesa/extensions: Fix ES1 extension reportingNanley Chery2016-06-101-2/+2
| | | | | | | | | | | Commit eda15abd84af575d3bde432e2163e30d743a7c87 , unintentionally advertised these extensions in ES1 contexts. Undo this error. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit c06cef7f9b27dcc109c9c6ae69f729acce041072)
* st/osmesa: remove double-write (overwriting)Eric Engestrom2016-06-101-1/+0
| | | | | | | | | | | | | These two lines have been here since the file was created. I'm guessing the second one was just for testing during dev, so it's the one that's going away. CoverityID: 1296205 Signed-off-by: Eric Engestrom <[email protected]> Cc: [email protected] Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit 17f4c723eb5a503d747d643936e4fd689a5f4946)
* Update version to 12.0.0-rc2mesa-12.0.0-rc2Emil Velikov2016-06-071-1/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* mesa: automake: distclean git_sha1.h when building OOTEmil Velikov2016-06-071-0/+6
| | | | | | | | | | | | | | | | In the case of out-of-tree (OOT) builds, in particular when building from tarball, we'll end up with the file in both srcdir and builddir. We want the former to remain intact (since we need it on rebuild) while the latter should be removed otherwise `make distclean' gets angry at us. Ideally there'll be a solution that feels a bit less of a hack. Until then this does the job exactly as expected. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit b7f7ec78435771ab02f7d9a61bb1d4a11df720b8)
* mesa: automake: ensure that git_sha1.h.tmp has the right attributesEmil Velikov2016-06-071-0/+1
| | | | | | | | | | | ... when copied from git_sha1.h. As the latter file can we lacking the write attribute, one should set it explicitly. Otherwise we'll get a warning/failure at cleanup stage. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 2c424e00c3995a6a88f4db0c5dc9fd03ea749ebd)
* mesa: automake: add directory prefix for git_sha1.hEmil Velikov2016-06-071-1/+1
| | | | | | | | | | | Otherwise the build will assume that we've talking about builddir, which is not the case in the else statement. Here the file is already generated and is part of the tarball. Cc: <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 359d9dfec3381284b044d6c9bcf7a648ea8c651a)
* egl: android: don't add the image loader extension for !render_nodeEmil Velikov2016-06-071-8/+7
| | | | | | | | | | | | | | | | | | | | | With earlier commit we introduced support for render_node devices, which was couples with the use of the image loader extension. As the work was inspired by egl/wayland we (erroneously) added the extension for the !render_node path as well. That works for wayland, as the implementations of the DRI2 and IMAGE loader extensions converge behind the scenes. As that is not yet the case for Android we shouldn't expose the extension. Fixes: 34ddef39cef ("egl: android: add dma-buf fd support") Cc: <[email protected]> Reported-by: Mauro Rossi <[email protected]> Tested-by: Mauro Rossi <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 1816c837c1906382c370d65afe65a691738fd03b)
* anv: let anv_entrypoints_gen.py generate proper Wayland/Xcb guardsEmil Velikov2016-06-031-0/+28
| | | | | | | | | | | | | | | The generated sources should follow the example set by the vulkan headers and our non-generated code. Namely: the code for all supported platforms should be available, each one guarded by its respective VK_USE_PLATFORM_*_KHR macro. v2: Reword commit message. Cc: Mark Janes <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96285 Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (v1 over IRC) (cherry picked from commit b8e1f59d62bbe9b071c1012fd26a84928f3b0564)
* isl: add support for Android libmesa_isl static libraryMauro Rossi2016-06-024-1/+241
| | | | | | | | | | | | | | | | | isl library is needed to build i965, libmesa_isl static library is added to fix related Android building errors. Any attempt to build libmesa_genxml as phony package module failed to deliver gen{7,75,8,9}_pack.h generated headers, needed for libmesa_isl_gen{7,75,8,9} Due to constraints in Android Build System, libmesa_genxml is built as static, at least one source is needed, so dummy.c is autogenerated for this scope, libmesa_genxml dependency is declared using LOCAL_WHOLE_STATIC_LIBRARIES, to avoid building errors due to missing genxml/gen{7,75,8,9}_pack.h headers. Cc: <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 278c2212ac137c19438a84072c8d3150b5a5b4f6)
* android: libmesa_glsl: add a dependency on libmesa_nir staticMauro Rossi2016-06-021-2/+3
| | | | | | | | | | | | | | | | | Fixes the following building error: target C++: libmesa_glsl <= external/mesa/src/compiler/glsl/glsl_to_nir.cpp In file included from external/mesa/src/compiler/glsl/glsl_to_nir.h:28:0, from external/mesa/src/compiler/glsl/glsl_to_nir.cpp:28: external/mesa/src/compiler/nir/nir.h:42:25: fatal error: nir_opcodes.h: No such file or directory compilation terminated. build/core/binary.mk:432: recipe for target 'out/target/product/x86/obj/STATIC_LIBRARIES/libmesa_glsl_intermediates/glsl/glsl_to_nir.o' failed make: *** [out/target/product/x86/obj/STATIC_LIBRARIES/libmesa_glsl_intermediates/glsl/glsl_to_nir.o] Error 1 make: *** Waiting for unfinished jobs.... Cc: <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 4143245c23c25a8b81c4ab6ca3d9211593edf542)
* isl: automake: don't include isl_format_layout.c in two lists.Emil Velikov2016-06-022-2/+1
| | | | | | | | | | | Including the file in both ISL_FILES and ISL_GENERATED_FILES makes the actual dependency list less obvious. v2: Drop unrelated vulkan hunk (Jason). Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit af1a0ae8cebb62fe9ce4b78c3e95185ea62ccdf0)
* automake: bring back the .PHONY git_sha1.h.tmp ruleEmil Velikov2016-06-021-2/+17
| | | | | | | | | | | | | | | With earlier commit 3689ef32afd ("automake: rework the git_sha1.h rule, include in tarball") we/I erroneously removed the PHONY rule and the temporary file. The former is used to ensure that the header is regenerated when on each make invocation, while the latter helps us avoid the unneeded rebuild(s) when the SHA1 hasn't changed. Reported-by: Grazvydas Ignotas <[email protected]> Tested-by: Grazvydas Ignotas <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit af2637aa32aac1ef512433407385e8e2bf711aea)
* radeon/uvd: fix the H264 level for Tonga v2Christian König2016-06-021-1/+1
| | | | | | | | | | | We support 5.2 for a while now. v2: we even support 5.2 for H264, 5.1 is for HEVC. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Cc: <[email protected]> (cherry picked from commit b3e75c39976c03f73128ffd802465799ac0e4ef5)
* i965: Remove old CS local ID handlingJordan Justen2016-06-027-124/+3
| | | | | | | | | | | | | | The old method pushed data for each channels uvec3 data of gl_LocalInvocationID. The new method pushes 1 dword of data that is a 'thread local ID' value. Based on that value, we can generate gl_LocalInvocationIndex and gl_LocalInvocationID with some calculations. Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 0a3acff5b53d409181dcd2f31a4a50af06f73a57)
* i965: Enable cross-thread constants and compact local IDs for hsw+Jordan Justen2016-06-023-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cross thread constant support appears on Haswell. It allows us to upload a set of uniform data for all threads without duplicating it per thread. One complication is that cross-thread constants are loaded into registers before per-thread constants. Previously, our local IDs were loaded before the uniform data and treated as 'payload' data, even though they were actually pushed into the registers like the other uniform data. Therefore, in this patch we simultaneously enable a newer layout where each thread now uses a single uniform slot for a unique local ID for the thread. This uniform is handled specially to make sure it is added last into the uniform push constant registers. This minimizes our usage of push constant registers, and maximizes our ability to use cross-thread constants for registers. To swap from the old to the new layout, we also need to flip some lowering pass switches to let our driver handle the lowering instead. We also no longer force thread_local_id_index to -1. v4: * Minimize size of patch that switches from the old local ID layout to the new layout (Jason) Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit b1f22c6317940dac543e44dd638ea9f4fbcd6ca7)
* anv: Support new local ID generation & cross-thread constantsJordan Justen2016-06-024-48/+42
| | | | | | | | | | | | | | | | | | The cross thread constant support appears on Haswell. It allows us to upload a set of uniform data for all threads without duplicating it per thread. We also support per-thread data which allows us to store a per-thread ID in one of the uniforms that can be used to calculate the gl_LocalInvocationIndex and gl_LocalInvocationID variables. v4: * Support the old local ID push constant layout as well (Jason) Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 3ba9594f32239031ddeff764e9896d48d05125d0)
* i965: Support new local ID push constant & cross-thread constantsJordan Justen2016-06-022-45/+52
| | | | | | | | | | | | | | | | | | The cross thread constant support appears on Haswell. It allows us to upload a set of uniform data for all threads without duplicating it per thread. We also support per-thread data which allows us to store a per-thread ID in one of the uniforms that can be used to calculate the gl_LocalInvocationIndex and gl_LocalInvocationID variables. v4: * Support the old local ID push constant layout as well (Jason) Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 30685392e0e477771e6c6ba232a63df6b0e2ed83)
* i965: Add CS push constant info to brw_cs_prog_dataJordan Justen2016-06-022-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | We need information about push constants in a few places for the GL driver, and another couple places for the vulkan driver. When we add support for uploading both a common (cross-thread) set of push constants, combined with the previous per-thread push constant data, things are going to get even more complicated. To simplify things, we add push constant info into the cs prog_data struct. The cross-thread constant support is added as of Haswell. To support it we need to make sure all push constants with uniform values are added to earlier registers. The register that varies per thread and holds the thread invocation's unique local ID needs to be added last. For now we add the code that would calculate cross-thread constatn information for hsw+, but we force it (cross_thread_supported) off until the other parts of the driver support it. v4: * Support older local ID push constant layout as well. (Jason) Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit d437798ace47e47dbcb1244734dc1af3ecb5ab84)
* i965: Store number of threads in brw_cs_prog_dataJordan Justen2016-06-029-37/+31
| | | | | | | Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 1b79e7ebbd77a7e714fafadd91459059aacf2407)
* i965: Add nir based intrinsic lowering and thread ID uniformJordan Justen2016-06-024-0/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | We add a lowering pass for nir intrinsics. This pass can replace nir intrinsics with driver specific nir lower code. We lower the gl_LocalInvocationIndex intrinsic based on a uniform which is loaded with a thread specific ID. We also lower the gl_LocalInvocationID based on gl_LocalInvocationIndex. v2: * Create variable during lowering pass. (Ken) v3: * Don't create a variable, but instead just insert an intrisic call to load a uniform from the allocated location. (Jason) v4: * Don't run this pass if thread_local_id_index < 0 Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 3ef0957dac11edee7babc9746ec766dcb055d909)
* i965: Put CS local thread ID uniform in last push registerJordan Justen2016-06-021-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This thread ID uniform will be used to compute the gl_LocalInvocationIndex and gl_LocalInvocationID values. It is important for this uniform to be added in the last push constant register. fs_visitor::assign_constant_locations is updated to make sure this happens. The reason this is important is that the cross-thread push constant registers are loaded first, and the per-thread push constant registers are loaded after that. (Broadwell adds another push constant upload mechanism which reverses this order, but we are ignoring this for now.) v2: * Add variable in intrinsics lowering pass * Make sure the ID is pushed last in assign_constant_locations, and that we save a spot for the ID in the push constants v3: * Simplify code based with Jason's suggestions. Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 04fc72501a90af94b0b5699e57fea68ad6e8795b)
* i965: Add uniform for a CS thread local base IDJordan Justen2016-06-024-1/+25
| | | | | | | | | | | | | v4: * Force thread_local_id_index to -1 for now, and have fs_visitor::setup_cs_payload look at thread_local_id_index. This enables us to more easily cut over from the old local ID layout to the new layout, as suggested by Jason. Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit fa279dfbf0fc89b07007141ad8850ac42206e397)
* i965: Add nir channel_num system valueJordan Justen2016-06-022-0/+16
| | | | | | | | | | v2: * simd16/32 fixes (curro) Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 8f48d23e0fcc0809f6397a67c26751a45a95e076)
* nir: Make lowering gl_LocalInvocationIndex optionalJordan Justen2016-06-026-5/+22
| | | | | | | Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 6f316c9d8658e870b0140b0f601d35d1fcf133b9)
* glsl: Add glsl LowerCsDerivedVariables optionJordan Justen2016-06-026-13/+26
| | | | | | | | | | | v2: * Move lower flag to context constants. (Ken) Cc: "12.0" <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> (v1) Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 7b9def35835232a10010f256b9c108219f97f752)
* i965/fs: Copy the offset when lowering logical pull constant sendsJason Ekstrand2016-06-021-0/+8
| | | | | | | | | This fixes 64 Vulkan CTS tests per gen Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96299 Reviewed-by: Francisco Jerez <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit 1205999c229b8e67af39fb9875bd87bc0a1404eb)
* glsl/distance: make sure we use clip dist varying slot for lowered var.Dave Airlie2016-06-021-0/+1
| | | | | | | | | When lowering, we always want to use the clip dist varying. Reviewed-by: Ilia Mirkin <[email protected]> Cc: "12.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 8d4f4adfbd5b2f23cb2a6a1f77f79a23d3f2b035)
* i965: Fix isoline reads in scalar TES.Kenneth Graunke2016-06-021-1/+1
| | | | | | | | | | | | | | Isolines aren't reversed. commit 5b2d8c2273c6f fixed this for the vec4 TES backend, but not the scalar one. Found while debugging GL45-CTS.tessellation_shader. tessellation_control_to_tessellation_evaluation.gl_tessLevel. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Cc: [email protected] (cherry picked from commit 25e1b8d366a6131bc9d46fe27f6bc476f05a7a58)
* glsl: Use Geom.VerticesOut == -1 to specify unsetIan Romanick2016-06-023-6/+6
| | | | | | | | | | Because apparently layout(max_vertices=0) is a thing. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit a428c955ce5d039e035e49da6daa13088ec8617c)
* i965: If control_data_header_size_bits is zero, don't do EndPrimitiveIan Romanick2016-06-022-0/+6
| | | | | | | | | This can occur when max_vertices=0 is explicitly specified. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit b27dfa5403ed1884999524417c08d2bc50365965)
* mesa: Fix bogus strncmpIan Romanick2016-06-021-1/+1
| | | | | | | | | | | | | | | The string "[0]\0" is the same as "[0]" as far as the C string datatype is concerned. That string has length 3. strncmp(s, length_3_string, 4) is the same as strcmp(s, length_3_string), so make it be strcmp. v2: Not the same as strncmp(..., 3). Noticed by Ilia. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]> Cc: "12.0" <[email protected]> (cherry picked from commit 049bb94d2e177f7415e7dddd71907be3e7f153c6)
* nir: allow sat on all float destination typesIlia Mirkin2016-06-021-1/+3
| | | | | | | | | | | | With the introduction of fp64 and fp16 to nir, there are now a bunch of float types running around. A F1 2015 shader ends up with an i2f.sat operation, which has a nir_type_float32 destination. Allow sat on all the float destination types. Signed-off-by: Ilia Mirkin <[email protected]> Cc: "12.0" <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit ca135a26126edfbcbf19feb6cf6c00eaba3372b9)