summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* vk/allocator: Make the use of NULL_BLOCK in state_stream_finish explicitJason Ekstrand2015-06-081-1/+1
|
* vk: Quiet a few warningsKristian Høgsberg Kristensen2015-06-083-3/+3
|
* vk: Create a minimal context for the compilerKristian Høgsberg Kristensen2015-06-087-29/+70
| | | | | | This avoids the full brw context initialization and just sets up context constants, initializes extensions and sets a few driver vfuncs for the front-end GLSL compiler.
* vk/cmd_buffer: Use the dynamic state stream in emit_dynamic and merge_dynamicJason Ekstrand2015-06-051-5/+6
|
* vk/device: Use a 64-byte alignment for CC stateJason Ekstrand2015-06-051-3/+3
|
* vk/pipeline: Actually free the program stream and dynamic poolJason Ekstrand2015-06-051-0/+2
|
* vk/allocator: Avoid double-free in the bo poolJason Ekstrand2015-06-051-4/+11
|
* vk/gem: Call VALGRIND_FREELIKE_BLOCK before unmappingJason Ekstrand2015-06-051-1/+1
|
* vk: Fix 2 incorrect typecastsChad Versace2015-06-041-2/+2
| | | | | The compiler didn't find the cast errors because all Vulkan types are just integers.
* vk: Make `make clean` remove generated spirv headersChad Versace2015-06-041-1/+1
|
* vk/allocator: Remove an unneeded VG() wrapperJason Ekstrand2015-06-041-1/+1
|
* vk/device: Dissalow device destructionJason Ekstrand2015-06-041-0/+3
|
* vk: Fix buildChad Versace2015-06-041-2/+1
| | | | | Commit 1286bd, which deleted vk.c, broke the build. Update the Makefile to fix it.
* vk/DS: Mask stencil masks to 8 bitsJason Ekstrand2015-06-031-4/+4
|
* vk: Set color/blend state in meta clear if not set yetKristian Høgsberg Kristensen2015-06-021-0/+5
|
* vk: Delete vk.c test caseKristian Høgsberg Kristensen2015-06-023-1585/+0
| | | | | We now have crucible up and running and all vk sub-cases have been moved over. Delete this crufty old hack of a test case.
* vk: Update generated headers with support for 64 bit fieldsKristian Høgsberg Kristensen2015-06-023-134/+209
|
* vk: Set cb_state to NULL at cmd buffer create timeKristian Høgsberg Kristensen2015-06-021-0/+1
| | | | | | | Dynamic color/blend state can be NULL in case we're not rendering to color targets (only output to depth and/or stencil). Initialize cmd_buffer->cb_state to NULL so we can reliably detect whether it's been set or not.
* vk: Implement vertexOffset parameter of vkCmdDrawIndexed()Kristian Høgsberg Kristensen2015-06-021-1/+1
| | | | | As exposed by the func.draw_indexed test, we were ignoring the argument and hardcoding 0.
* vk/formats: Add a name to the metadata and better loggingJason Ekstrand2015-06-022-1/+14
|
* vk/formats: Rework the formats tableJason Ekstrand2015-06-021-174/+177
|
* vk: Move query related functionality to new file query.cKristian Høgsberg Kristensen2015-06-014-329/+358
|
* i965: Use NIR by default for vertex shaders on GEN8+Jason Ekstrand2015-06-011-1/+1
| | | | | | | | | | | | | | | | | | GLSL IR vs. NIR shader-db results for SIMD8 vertex shaders on Broadwell: total instructions in shared programs: 2742062 -> 2681339 (-2.21%) instructions in affected programs: 1514770 -> 1454047 (-4.01%) helped: 5813 HURT: 1120 The gained programs are ARB vertext programs that were previously going through the vec4 backend. Now that we have prog_to_nir, ARB vertex programs can go through the scalar backend so they show up as "gained" in the shader-db results. Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Acked-by: Matt Turner <[email protected]>
* vk/compiler: Add an index_count to the bind map and check for OOBJason Ekstrand2015-06-014-7/+23
|
* vk/HACK: Plumb real descriptor set/index into texturesJason Ekstrand2015-06-015-4/+9
|
* NIR: Add a helper for doing sampler lowering for vulkanJason Ekstrand2015-06-012-21/+74
|
* vk: Indent tables to align '=' at column 48Kristian Høgsberg Kristensen2015-05-313-75/+75
|
* vk: Add support for anisotropic bitsKristian Høgsberg Kristensen2015-05-311-7/+15
|
* vk: Implement support for sampler border colorsKristian Høgsberg Kristensen2015-05-312-1/+39
| | | | | | This supports the three Vulkan border color types for float color formats. The support for integer formats is a little trickier, as we don't know the format of the texture at this time.
* vk/device: Only flush the texture cache when setting state base addressJason Ekstrand2015-05-301-11/+3
| | | | | After further examination, it appears that the other flushes and stalls weren't actually needed.
* vk/cmd_buffer: Track descriptor set dirtying per-stageJason Ekstrand2015-05-303-10/+19
|
* vk/device: Emit PIPE_CONTROL flushes surrounding new STATE_BASE_ADDRESSJason Ekstrand2015-05-301-0/+15
| | | | | | | | According to the bspec, you're supposed to emit a PIPE_CONTROL with a CS stall and a render target flush prior to chainging STATE_BASE_ADDRESS. A little experimentation, however, shows that this is not enough. It also appears as if you have to flush the texture cache after chainging base address or things won't propagate properly.
* vk/allocator: Don't call VALGRIND_MALLOCLIKE_BLOCK on fresh gem_mmap'sJason Ekstrand2015-05-291-1/+5
|
* vk: Don't crash on partial descriptor setsJason Ekstrand2015-05-291-0/+3
|
* vk/device: Allow for starting a new surface state bufferJason Ekstrand2015-05-293-26/+126
| | | | | | This commit allows for us to create a whole new surface state buffer when the old one runs out of room. We simply re-emit the state base address for the new state, re-emit binding tables, and keep going.
* vk/device: Do lazy surface state emission for binding tablesJason Ekstrand2015-05-293-185/+198
| | | | | | | Before, we were emitting surface states up-front when binding tables were updated. Now, we wait to emit the surface states until we emit the binding table. This makes meta simpler and should make it easier to deal with swapping out the surface state buffer.
* vk: Store dynamic slot index with struct anv_descriptor_slotKristian Høgsberg Kristensen2015-05-292-11/+22
| | | | | | | We need to make sure we use the right index into dynamic offset array. Dynamic descriptors can be present or not in different stages and to get the right offset, we need to compute the index at vkCreateDescriptorSetLayout time.
* vk: Implement dynamic buffer offsetsKristian Høgsberg Kristensen2015-05-282-62/+101
| | | | | | | | We do this by creating a surface state on the fly that incorporates the dynamic offset. This patch also refactor the descriptor set layout constructor a bit to be less clever with switch statement fall through. Instead of duplicating the subtle code to update the sampler and surface slot map, we just use two switch statements.
* vk/device: Split state base address emit into its own functionJason Ekstrand2015-05-281-9/+16
|
* vk/device: Use anv_batch_emit for MI_BATCH_BUFFER_STARTJason Ekstrand2015-05-281-5/+9
|
* vk/device: Actually destroy batch buffersJason Ekstrand2015-05-281-0/+8
|
* vk/query: Don't emit a CS stall by itselfJason Ekstrand2015-05-281-1/+2
| | | | | Both the bspec and the simulator don't like this. I'm not sure if stalling at the scoreboard is right but it at least shuts up the simulator.
* vk/device: Fixups for batch buffer chainingJason Ekstrand2015-05-281-14/+34
| | | | | Some how these didn't get merged with the other batch buffer chaining stuff. Oh well, it's here now.
* meta: Add a default ds_state and use it when no ds state is setJason Ekstrand2015-05-282-0/+16
|
* vk/meta: Share the dummy RS and CB state between clear and blitJason Ekstrand2015-05-282-49/+39
|
* vk: Initialize dynamic state binding points to NULLKristian Høgsberg Kristensen2015-05-271-0/+3
| | | | | | We rely on these being initialized to NULL so meta can reliably detect whether or not they've been set. ds_state is also allowed to not be present so we need a well-defined value for that.
* .gitignore: Ignore spirv2nir binaryChad Versace2015-05-271-0/+1
|
* .gitignore: Scope Vulkan's generated source filesChad Versace2015-05-272-2/+2
| | | | | Don't ignore any file named entrypoints.{c,h}. Ignore it only if it's in src/vulkan.
* vk: gitignore generated source filesChad Versace2015-05-271-0/+3
|
* vk/glsl_scraper: Replace adhoc arg parsing with argparseChad Versace2015-05-271-45/+29
|