aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pan/bit: Add FMA_MSCALE testAlyssa Rosenzweig2020-04-171-0/+29
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: _MSCALE interpAlyssa Rosenzweig2020-04-171-0/+11
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: Add BI_TABLE testAlyssa Rosenzweig2020-04-171-0/+17
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: Add log2 helper interpAlyssa Rosenzweig2020-04-171-0/+13
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: Add FMA_REDUCE testAlyssa Rosenzweig2020-04-171-0/+16
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: Add BI_REDUCE_FMA interpAlyssa Rosenzweig2020-04-171-0/+15
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: Add frexp_log testAlyssa Rosenzweig2020-04-171-1/+17
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bit: Add FREXP interp supportAlyssa Rosenzweig2020-04-171-1/+34
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Lower special ops to 32-bitAlyssa Rosenzweig2020-04-171-0/+6
| | | | | | | | We don't have 16-bit tables. We could probably do a bit better to avoid so many conversions but hey. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Round constants to 32-bitAlyssa Rosenzweig2020-04-171-1/+1
| | | | | | | We can only access lo/hi at 32-bit intervals. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Dump extra bits for disasmAlyssa Rosenzweig2020-04-171-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Pack MAX.v2f16Alyssa Rosenzweig2020-04-171-15/+37
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Pack ADD.v2f16Alyssa Rosenzweig2020-04-171-4/+29
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Structify add and min/max fp16 ADDAlyssa Rosenzweig2020-04-171-2/+20
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Workaround constant packing errataAlyssa Rosenzweig2020-04-171-3/+8
| | | | | | | Incomplete fix. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Try to reuse constants in ALUAlyssa Rosenzweig2020-04-171-2/+11
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Handle st_vary with <4 componentsAlyssa Rosenzweig2020-04-171-2/+8
| | | | | | | Still no writemasks. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Fix vec2/3 handlingAlyssa Rosenzweig2020-04-171-0/+4
| | | | | | | Otherwise we get moves from null. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Implement flog2Alyssa Rosenzweig2020-04-173-0/+91
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add fexp2 implementationAlyssa Rosenzweig2020-04-175-1/+115
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Fix lower_combine swizzle rewriteAlyssa Rosenzweig2020-04-171-1/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Fix packing with low-nibble-set on hi constantAlyssa Rosenzweig2020-04-171-2/+4
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Fix packing with multiple constantsAlyssa Rosenzweig2020-04-171-1/+2
| | | | | | | Need to use bottom nibble of the 64, not the half. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Fix bi_get_immediate with multiple immsAlyssa Rosenzweig2020-04-173-8/+17
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Ensure CONSTANT srcs have typesAlyssa Rosenzweig2020-04-171-0/+2
| | | | | | | So the next commit is valid. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Split src/dest index printingAlyssa Rosenzweig2020-04-171-8/+23
| | | | | | | So we can handle constant printing correctly. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add fexp2_fast packingAlyssa Rosenzweig2020-04-173-1/+8
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Pack FMA_MSCALEAlyssa Rosenzweig2020-04-171-1/+23
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Structify FMA_MSCALEAlyssa Rosenzweig2020-04-171-0/+19
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add _MSCALE flag for FMA/ADDAlyssa Rosenzweig2020-04-172-0/+6
| | | | | | | So we can bias by exponents. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add log2_help packingAlyssa Rosenzweig2020-04-172-0/+12
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Pack ADD_FREXPMAlyssa Rosenzweig2020-04-172-0/+13
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add bi_pack_fma_2src helperAlyssa Rosenzweig2020-04-171-0/+12
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add frexp_log packingAlyssa Rosenzweig2020-04-172-0/+9
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add log_frexpe op to IRAlyssa Rosenzweig2020-04-173-0/+17
| | | | | | | As part of BI_FREXP Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add FLOG2_U op to disassemblerAlyssa Rosenzweig2020-04-171-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add op for ADD_FREXPMAlyssa Rosenzweig2020-04-175-0/+23
| | | | | | | Used in log2. Needs a new class as well due to scheduling silliness. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add special op for exp2Alyssa Rosenzweig2020-04-172-0/+6
| | | | | | | Needs some extra help but basically exp2_fast Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add BI_TABLE for fast table accessesAlyssa Rosenzweig2020-04-175-1/+27
| | | | | | | | Used to implement SPECIAL ops. Separate class since they are faster which means you can pair them with actual work on FMA. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Disable FMA scheduling for CONVERTAlyssa Rosenzweig2020-04-171-1/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* pan/bi: Add disasm for ADD.i8Alyssa Rosenzweig2020-04-171-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
* spirv,nir: Move the SPIR-V vector insert code to NIRJason Ekstrand2020-04-174-53/+61
| | | | | | | | | This also makes spirv_to_nir a bit simpler because the new nir_vector_insert helper automatically handles a constant component selector like nir_vector_extract does. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4495>
* spirv: Call nir_builder directly for vector_extractJason Ekstrand2020-04-176-43/+9
| | | | | | | | The nir_builder helper already handles checking if the component selector is an immediate and returns an undef in the OOB case. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4495>
* nir/builder: Handle any bit-size selector in nir_extractJason Ekstrand2020-04-171-2/+2
| | | | | Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4495>
* spirv: Error if OpCompositeInsert/Extract has OOB indicesJason Ekstrand2020-04-171-0/+17
| | | | | Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4495>
* spirv,nir: Add a better vector_insertJason Ekstrand2020-04-171-12/+11
| | | | | | | | | The old one in spirv_to_nir was besel'ing the whole vector for every component. If we think about this as a vector operation, we can do it way more efficiently. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4495>
* spirv: Handle OOB vector extract operationsJason Ekstrand2020-04-171-1/+4
| | | | | | | | | | | | We use vtn_vector_extract to handle vector component level derefs. This makes us gracefully handle the case where your vector component is OOB and give you an undef. The SPIR-V working group is still working out whether or not this is technically legal but it's very little code for us to handle it so we may as well. Cc: [email protected] Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4495>
* util/sparse_array: don't stomp head's counter on pop operationsD Scott Phillips2020-04-171-2/+2
| | | | | | | | | | | By temporarily storing the new_head by a uint32_t, we wipe out the counter section of the head pointer. Fixes: e4f01eca ("util: Add a free list structure for use with util_sparse_array") Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Rafael Antognolli <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4612>
* st/mesa: Update shader info of ffvp/ARB_vp after translation to NIRDanylo Piliaiev2020-04-171-3/+20
| | | | | | | | | | | | | | | | | | We must update stp->Base.info after translation and before st_prepare_vertex_program is called, because inputs_read may become outdated after NIR optimization passes. For ffvp/ARB_vp inputs_read is populated based on declared attributes without taking their usage into consideration. When creating shader variants we expect that their inputs_read would match the base ones for input mapping to work properly. Cc: <[email protected]> Fixes: 8a0dd0af3f1a6c0310a08daf4220132ec6815b31 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2758 Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4598>
* aco: fix exporting the viewport index if the fragment shader needs itSamuel Pitoiset2020-04-172-2/+4
| | | | | | | | | | | | | It's like the layer, it has to be exported via the pos and also as a varying if the fragment shader reads it. Fixes dEQP-VK.draw.shader_viewport_index.fragment_shader_* Cc: <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4564>