summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* anv/pipeline: Better vertex input channel setupJason Ekstrand2015-12-313-12/+40
| | | | | | First off, it now uses isl formats instead of anv_format. Also, it properly handles integer vs. floating-point default channels and can properly handle alpha-only channels. (Not sure if those are allowed).
* anv/pipeline: Move vk_to_gen tables into a shared headerJason Ekstrand2015-12-313-178/+115
|
* isl: Better document surface unitsChad Versace2015-12-311-2/+60
| | | | | | Logical pixels, physical surface samples, and physical surface elements. Requested-by: Jason Ekstrand <[email protected]>
* isl: Document the 3D block extent of isl_formatChad Versace2015-12-311-0/+7
|
* nir/spirv: Add a missing break statement in handle_imageJason Ekstrand2015-12-301-0/+1
|
* Revert "isl: Fix assertion failure for npot pixel formats"Jason Ekstrand2015-12-301-2/+2
| | | | This reverts commit 96d1baa88d37c51c94579f650cfd9465d28634f4.
* nir/spirv: Handle push constants after decorationsJason Ekstrand2015-12-301-1/+14
|
* anv/device: Place memory types at heapIndex == 0Jason Ekstrand2015-12-301-3/+3
| | | | | Previously, they were at heapIndex == 1 even though we only advertised one heap.
* nir/spirv: Fix constant num_elements and allocationJason Ekstrand2015-12-301-3/+5
| | | | | | Thanks to the addition of nir_clone, we now have a num_elements field in nir_constant which we weren't setting. Also, constants have to be parented to the variable they initialize, so we have to make a copy.
* nir/lower_outputs_to_temporaries: Reparent constant initializersJason Ekstrand2015-12-301-0/+3
|
* nir/clone: Expose nir_constant_cloneJason Ekstrand2015-12-302-4/+5
|
* nir/gather_info: Add support for end_primitive_with_counterJason Ekstrand2015-12-301-0/+1
|
* nir/spirv: Handle OpLineJason Ekstrand2015-12-301-4/+6
|
* nir/spirv: Let OpEntryPoint act as an OpNameJason Ekstrand2015-12-301-4/+5
|
* nir/lower_outputs_to_temporaries: Take a nir_function entrypointJason Ekstrand2015-12-304-7/+15
|
* nir/spirv: Add support for multiple entrypoints per shaderJason Ekstrand2015-12-305-22/+38
| | | | | | This is done by passing the entrypoint name into spirv_to_nir. It will then process the shader as if that were the only entrypoint we care about. Instead of returning a nir_shader, it now returns a nir_function.
* nir/spirv: Get the shader stage from the SPIR-VJason Ekstrand2015-12-305-14/+31
| | | | Previously, we depended on it being passed in.
* nir/spirv: Use shader stage for determining variable locationsJason Ekstrand2015-12-301-2/+2
|
* nir/spirv: Get rid of default GS infoJason Ekstrand2015-12-301-6/+0
| | | | shaderc has been fixed for a while now.
* nir/spirv: Handle execution modes as decorationsJason Ekstrand2015-12-302-107/+168
| | | | They're basically the same thing.
* nir/spirv: Separate handling of preamble from type/var/const instructionsJason Ekstrand2015-12-301-0/+36
|
* isl: Fix assertion failure for npot pixel formatsChad Versace2015-12-301-2/+2
| | | | | | | | | When aligning to isl_format_layout::bs (which is the number of bytes in the pixel), use isl_align_npot() instead of isl_align(), because isl_align() works only for power-of-2 alignment. Fixes assertion in dEQP-VK.pipeline.image.view_type.1d.format.r16g16b16_sfloat.size.512x1.
* nir/spirv/GLSL450: Add support for SAbsJason Ekstrand2015-12-301-0/+1
|
* nir/spirv: Implement IsInf and IsNan built-ins.Kenneth Graunke2015-12-301-0/+7
|
* isl: Tile-align height in image size calculationJason Ekstrand2015-12-301-1/+1
| | | | | This fixes a bunch of gpu hangs on the dEQP-VK.glsl.ShaderExecutor.common group of CTS tests.
* Revert "nir/spirv: Update to the 1.0 GLSL.std.450 header"Kenneth Graunke2015-12-302-49/+43
| | | | | | | | This reverts commit b33f5d388979f23c583c78f10a18a941cb04ce04, and also removes the (empty) case statements for the new built-ins. It doesn't look like glslang has updated yet, so updating the header just breaks everything, as we no longer agree on opcode numbers.
* anv/allocator: Rework state streams againJason Ekstrand2015-12-302-44/+48
| | | | | | | | | | If we're going to hav valgrind verify state streams then we need to ensure that once we choose a pointer into a block we always use that pointer until the block is freed. I was trying to do this with the "current_map" thing. However, that breaks down because you have to use the map from the block pool to get to the stream_block to get at current_map. Instead, this commit changes things to track the stream_block by pointer instead of by offset into the block pool.
* gen7/8/cmd_buffer: Allocate the correct ammount for COLOR_CALC_STATEJason Ekstrand2015-12-302-3/+6
| | | | We were allocating 6 bytes when we should have been allocating 6 dwords.
* anv/stream_alloc: Properly manage valgrind NOACCESS and UNDEFINED statusJason Ekstrand2015-12-301-3/+19
| | | | | | | | | | | | When I first did the valgrindifying for stream allocators, I misunderstood some things about valgrind's expectations for NOACCESS and UNDEFINED. First off, valgrind expects things to be marked NOACCESS before you allocate out of them. Since our blocks came from a pool backed by a mmapped memfd, they came in as UNDEFINED; we needed to mark them as NOACCESS. Also, I didn't realize that VALGRIND_MEMPOOL_CHANGE only updated the mempool allocation state and didn't actually change definedness; we had to add a VALGRIND_MAKE_MEM_UNDEFINED to get rid of the NOACCESS on the newly allocated portion.
* nir/spirv: Lower gl_GlobalInvocationID correctlyKristian Høgsberg Kristensen2015-12-301-1/+1
| | | | | | Use nir_intrinsic_load_local_invocation_id, not nir_intrinsic_load_invocation_id (missing 'local'), which is a geometry shader built-in.
* nir/spirv/cfg: Handle discardJason Ekstrand2015-12-291-0/+6
|
* nir/print: Handle variables with var->name == NULLJason Ekstrand2015-12-291-8/+13
|
* nir/inline_functions: Switch to inlining everythingJason Ekstrand2015-12-292-12/+26
|
* nir/spirv/glsl450: Enumerate more built-in opcodes.Kenneth Graunke2015-12-291-0/+9
|
* anv/state: Fix reversed MIN vs. MAX in levelCount handling.Kenneth Graunke2015-12-292-4/+4
| | | | | The point is to promote a levelCount of 0 to 1 before subtracting 1. This needs MAX, not MIN.
* nir/spirv: Use instr_rewrite_src for updating phi sourcesJason Ekstrand2015-12-291-1/+3
| | | | | | You can't just add a new source to a phi because use/def information won't get updated properly. Instead, you have to use one of the core helpers. Some day, we may want to add a nir_phi_instr_add_src helper.
* nir/validate: Don't validate the return deref for void function callsJason Ekstrand2015-12-291-4/+4
|
* nir/dominance: Handle unreachable blocksJason Ekstrand2015-12-291-1/+5
| | | | | | | | | | | | | | | | | | Previously, nir_dominance.c didn't properly handle unreachable blocks. This can happen if, for instance, you have something like this: loop { if (...) { break; } else { break; } } In this case, the block right after the if statement will be unreachable. This commit makes two changes to handle this. First, it removes an assert and allows block->imm_dom to be null if the block is unreachable. Second, it properly skips unreachable blocks in calc_dom_frontier_cb.
* nir/spirv/glsl450: Implement inverse hyperbolic trig built-ins.Kenneth Graunke2015-12-291-3/+19
|
* nir/spirv/glsl450: Implement Refract built-in.Kenneth Graunke2015-12-291-1/+20
|
* nir/spirv/glsl450: Implement hyperbolic trig built-ins.Kenneth Graunke2015-12-291-4/+25
|
* nir/spirv/glsl450: implement Reflect built-in.Kenneth Graunke2015-12-291-1/+8
|
* nir/spirv/glsl450: Implement FaceForward built-in.Kenneth Graunke2015-12-291-1/+7
|
* nir/spirv/glsl450: Implement SmoothStep.Kenneth Graunke2015-12-291-1/+14
|
* nir/spirv/glsl450: Implement Cross built-in.Kenneth Graunke2015-12-291-1/+11
|
* nir/spirv/glsl450: Implement Clamp/SClamp/UClamp.Kenneth Graunke2015-12-291-0/+7
|
* nir/spirv/glsl450: Implement the Log built-in.Kenneth Graunke2015-12-291-0/+3
|
* nir/spirv/glsl450: Implement Exp built-in.Kenneth Graunke2015-12-291-0/+3
|
* nir/spirv/glsl450: Add a helper for doing fclamp().Kenneth Graunke2015-12-291-0/+7
|
* nir/spirv/glsl450: Add helpers for calculating exp() and log().Kenneth Graunke2015-12-291-0/+19
|