aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* pan/bi: Add normal/compact/dual switch to IRAlyssa Rosenzweig2020-04-223-0/+21
| | | | | | | For tex. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* pan/bi: Feed data register to BI_TEXAlyssa Rosenzweig2020-04-221-1/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* pan/bi: Include TEX_COMPACT f16 opcodeAlyssa Rosenzweig2020-04-221-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* pan/bi: Structify TEX compactAlyssa Rosenzweig2020-04-221-0/+12
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* pan/bi: Disassemble f16 dual texAlyssa Rosenzweig2020-04-221-3/+6
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* pan/bi: Document when dual-tex is triggeredAlyssa Rosenzweig2020-04-221-1/+5
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* pan/bi: Print tex_compact coordinatesAlyssa Rosenzweig2020-04-221-0/+7
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4671>
* intel/compiler: Put back saturate on [iu]add_sat opcodesKenneth Graunke2020-04-221-0/+1
| | | | | | | | I deleted one too many inst->saturate = ... lines. This one must stay. Fixes: b7c47c4f7cf ("intel/compiler: Drop nir_lower_to_source_mods() and related handling.") Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4669>
* panfrost: Align Android makefiles with recent changesRoman Stratiienko2020-04-222-0/+15
| | | | | | Signed-off-by: Roman Stratiienko <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4634>
* freedreno/ir3: Drop handling FRAG_RESULT_DEPTH writing to .zEric Anholt2020-04-211-3/+1
| | | | | | | | Since we consume NIR, we get FRAG_RESULT_DEPTH in .x. Something must have been working out for this code to not be trying to get an undefined value, but go ahead and drop it now. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4668>
* turnip: fix GMEM resolve in CmdNextSubpassJonathan Marek2020-04-211-1/+3
| | | | | | | | | | | The BLIT scissor must be set correctly for tu_store_gmem_attachment. Fixes this deqp test: dEQP-VK.pipeline.multisample_shader_builtin.sample_id.137_191_1.samples Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4666>
* egl: simplify client/platform extension handlingEmil Velikov2020-04-214-59/+23
| | | | | | | | | | | | | | | | For GLVND reasons the client/platform extensions strings should be split. While in the non GLVND case they're one big string. Currently we handle this distinction at run-time for not obvious reason. Adding additional code and complexity. Swap those with a few well placed #if USE_LIBGLVND guards. As a side result this removes a minor memory leak due to the concatenation in the non GLVND case. Signed-off-by: Emil Velikov <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4491>
* mesa/gallium: do not use enum for bit-allocated memberErik Faye-Lund2020-04-211-1/+1
| | | | | | | | | | | The signedness of enums are undefined, so on platforms with signed enums, this isn't going to work. One such platform is Microsoft Windows. So let's just use an unsigned here instead. Fixes: b1c4c4c7f53 ("mesa/gallium: automatically lower alpha-testing") Acked-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4648>
* util/ralloc: fix ralloc alignment on Win64Jesse Natalie2020-04-211-0/+4
| | | | | Acked-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4648>
* intel/compiler: Drop nir_lower_to_source_mods() and related handling.Kenneth Graunke2020-04-214-123/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think we're unanimous in wanting to drop nir_lower_to_source_mods. It's a bit of complexity to handle in the backend, but perhaps more importantly, would be even more complexity to handle in nir_search. And, it turns out that since we made other compiler improvements in the last few years, they no longer appear to buy us anything of value. Summarizing the results from shader-db from this patch: - Icelake (scalar mode) Instruction counts: - 411 helped, 598 hurt (out of 139,470 shaders) - 99.2% of shaders remain unaffected. The average increase in instruction count in hurt programs is 1.78 instructions. - total instructions in shared programs: 17214951 -> 17215206 (<.01%) - instructions in affected programs: 1143879 -> 1144134 (0.02%) Cycles: - 1042 helped, 1357 hurt - total cycles in shared programs: 365613294 -> 365882263 (0.07%) - cycles in affected programs: 138155497 -> 138424466 (0.19%) - Haswell (both scalar and vector modes) Instruction counts: - 73 helped, 1680 hurt (out of 139,470 shaders) - 98.7% of shaders remain unaffected. The average increase in instruction count in hurt programs is 1.9 instructions. - total instructions in shared programs: 14199527 -> 14202262 (0.02%) - instructions in affected programs: 446499 -> 449234 (0.61%) Cycles: - 5253 helped, 5559 hurt - total cycles in shared programs: 359996545 -> 360038731 (0.01%) - cycles in affected programs: 155897127 -> 155939313 (0.03%) Given that ~99% of shader-db remains unaffected, and the affected programs are hurt by about 1-2 instructions - which are all cheap ALU instructions - this is unlikely to be measurable in terms of any real performance impact that would affect users. So, drop them and simplify the backend, and hopefully enable other future simplifications in NIR. Reviewed-by: Eric Anholt <[email protected]> [v1] Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4616>
* remove final imports.h and imports.c bitsDylan Baker2020-04-21218-952/+843
| | | | | | | | | | | This moves the fi_types to a new mesa_private.h and removes the imports.c file. The vast majority of this patch is just removing pound includes of imports.h and fixing up the recursive includes. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* dri/nouveau: replace assert with unreachableDylan Baker2020-04-211-1/+3
| | | | | | | | | | | I don't know why removing imports.h suddenly makes clang realize that this function can not return in a non-debug build, but it does. Unreachable is better because it doesn't have this problem. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* mesa: move ADD_POINTERS to macros.hDylan Baker2020-04-211-0/+1
| | | | | | | | | | | | I'm not really sure where else to put it. Since imports.h only has two things left in it (neither of which are abstractions for smoothing away libc differences) I'd like to get them out of there. macros.h is the only place I can think of to put this macro. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* mesa|mapi: replace _mesa_[v]snprintf with [v]snprintfDylan Baker2020-04-2118-78/+44
| | | | | | | | | | MSVC 2015 and newer has perfectly valid snprintf and vsnprintf implementations, let's just use those. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace imports memory functions with utils memory functionsDylan Baker2020-04-2119-254/+96
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* util: Add an aligned realloc functionDylan Baker2020-04-214-17/+40
| | | | | | | | | | Mesa has one of these in imports.h, so u_memory needs one as well. This is the version from mesa ported. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace malloc macros in imports.h with u_memory.h versionsDylan Baker2020-04-2168-1/+70
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* Replace IS_INF_OR_NAN with util_is_inf_or_nanDylan Baker2020-04-2111-49/+28
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* move windows strtok_r define to u_stringDylan Baker2020-04-212-4/+4
| | | | | | | | | | | This makes more sense for it, it's only used in the glsl compiler currently, so we could probably move it there, but this seems fine for a header only #define. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace IROUND with util functionsDylan Baker2020-04-2112-95/+80
| | | | | | | | | | | | This adds two new util functions to rounding.h, _mesa_iroundf and mesa_lround, which are just wrappers around roundf and round, that cast to int and long int respectively. This is possible since mesa recently dropped support for VC2013, since 2015 and 2017 support roundf. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* mesa/main: remove unused IROUNDDDylan Baker2020-04-211-8/+0
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* Replace IROUND_POS with _mesa_roundevenfDylan Baker2020-04-214-24/+11
| | | | | | | | | | | Which has the same behavior as long as you don't change the FPU rounding mode. Other code in mesa makes the same assumption so it should be safe to make that assumption more generally. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace IFLOOR with util_ifloorDylan Baker2020-04-217-77/+47
| | | | | | | | | which are exactly the same function with exactly the same implementation Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* u_math: add x86 optimized version of ifloorDylan Baker2020-04-211-0/+18
| | | | | | | | | | This is copied from the one in src/mesa/main/imports.h, which is the same otherwise. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace LOG2 with util_fast_log2Dylan Baker2020-04-213-33/+3
| | | | | | | | | | | The implementation is somewhat different, although if you go back in time far enough they're the same, but the one in u_math was changed a long time back to be faster. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace _mesa_logbase2 with util_logbase2Dylan Baker2020-04-2111-38/+18
| | | | | | | Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace _mesa_next_pow_two_* with util_next_power_of_two_*Dylan Baker2020-04-212-53/+1
| | | | | | | | | | The 64 bit variant in imports.h isn't even used. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* replace _mesa_is_pow_two with util_is_power_of_two_*Dylan Baker2020-04-2111-40/+29
| | | | | | | | | | | | | Mostly this uses util_is_power_of_two_or_zero, which has the same behavior as _mesa_is_pow_two when the input is zero. In cases where the value is known to be != 0 ahead of time I used the _nonzero variant as it may be faster on some platforms. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>
* freedreno/drm-shim: Add support for faking other adreno chips.Eric Anholt2020-04-212-3/+124
| | | | | | | | | | I wanted to look at the effect of a core NIR change on a2xx codegen, but I don't have any of those boards. This could also prove useful for quickly sanity-checking the compiler by running shader-db on it -- a2xx fails in a few ways on glmark2, and a3xx-a5xx fails on glmark2 in a debug_assert (which we don't have enabled in our dEQP runs). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4652>
* r600/sfn: use new temp register allocation when loading single value temporariesGert Wollny2020-04-211-2/+1
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Count only literals that are not inline to split instruction groupsGert Wollny2020-04-211-1/+11
| | | | | | | | An instruction group can only support 4 distinct literals, but inline constants count into this number, so skip them when counting. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Fix using the result of a fetch instruction in next fetchGert Wollny2020-04-211-0/+11
| | | | | | | | | The result of a fetch instruction can't be used as source in the same CF block, so force a new CF block when the result would be used in the same vertex fetch block. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Fix handling of GS inputsGert Wollny2020-04-211-0/+3
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Handle b2b1 like it was a movGert Wollny2020-04-211-0/+1
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Fix null pointer deref in live range evalationGert Wollny2020-04-211-2/+4
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/nir: Pin interpolation results to channelGert Wollny2020-04-213-0/+11
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Implementing instructions blocksGert Wollny2020-04-2112-36/+199
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Fix setting alignments when lowering UBOsGert Wollny2020-04-211-1/+1
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600/sfn: Reduce array limit for scratch usageGert Wollny2020-04-211-1/+1
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* r600: Dump a few more variables when requestedGert Wollny2020-04-211-0/+32
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4609>
* anv/android: fix assert in anv_import_ahw_memoryAbhishek Kumar2020-04-211-1/+1
| | | | | | | | | | | | Commit fixes assert that triggers when running dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.buffer#bind_export_import_bind on a debug build of Mesa. Fixes: c79a528d ("anv/android: support import/export of AHardwareBuffer objects") Signed-off-by: Abhishek Kumar <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4655>
* st/mesa: Re-assign vs in locations after updating nir info for ffvp/ARB_vpDanylo Piliaiev2020-04-211-0/+1
| | | | | | | | | | | | | | | | | After call to nir_shader_gather_info - inputs_read may have changed so st_nir_assign_vs_in_locations should be called for shader to remain in sync with vbo state. Fixes piglit tests: gl-1.0-fpexceptions gl-1.1-color-material-unused-normal-array arb_vertex_program-unused-attributes regression on several gallium drivers. Fixes: d684fb37bfbc47d098158cb03c0672119a4469fe Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4645>
* tu: Fix the advertised maxFragmentInputComponentsConnor Abbott2020-04-211-1/+1
| | | | | | | | | | This appears to be limited by VPC_CNTL_0::NUMNONPOSVAR, which is an 8-bit bitfield with no possibility for expansion. Also, in practice we'll be limited by the vertex shader output maximum, which includes gl_Position, of 128, so that users won't be able to use more than 124 components anyways. Lower it to match the GL blob. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4641>
* freedreno/a6xx: Expand various varying-count bitfieldsConnor Abbott2020-04-211-6/+6
| | | | | | | | | The extra bit needs to be used when using the maximum of 128 varying components. I confirmed that PC_PRIMITIVE_CNTL_1 and SP_PRIMITIVE_CNTL are expanded using a trace of the Vulkan blob with the maximum number of varyings, and changed the others by analogy. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4641>
* st/omx: fix gcc warningsPierre-Eric Pelloux-Prayer2020-04-211-3/+3
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4584>