Jason Ekstrand
29d2bbb2b5
vk/cmd: Add an initial implementation of PipelineBarrier
...
We may want to do something more inteligent here later such as actually
handling image layout transitions. However, this should do for now.
2015-06-10 16:37:33 -07:00
Jason Ekstrand
047ed02723
vk/emit: Use valgrind to validate every packed field
2015-06-10 12:43:02 -07:00
Jason Ekstrand
9cae3d18ac
vk: Add valgrind checks in various emit functions
...
The check in batch_bo_finish should catch any undefined values in the batch
but isn't that great for debugging. The checks in the various emit
functions will help get better granularity.
2015-06-09 21:51:37 -07:00
Jason Ekstrand
d5ad24e39b
vk: Move the valgrind include and VG() macro to private.h
2015-06-09 21:51:37 -07:00
Chad Versace
e17ed04b03
vk/image: Don't double-allocate stencil buffers
...
If the main surface has format S8_UINT, then don't allocate the
auxiliary stencil surface.
2015-06-09 16:39:28 -07:00
Chad Versace
1ee2d1c3fc
vk/image: Teach anv_image_choose_tile_mode about WMAJOR
2015-06-09 16:38:55 -07:00
Chad Versace
2d2e148952
vk/util: Add anv_abortf(), anv_abortfv()
...
Convenience functions to print an error message then abort.
2015-06-09 16:38:50 -07:00
Chad Versace
ffb1ee5d20
vk: Define anv_noreturn macro
2015-06-09 16:38:46 -07:00
Chad Versace
f1db3b3869
vk/image: Factor tile mode selection into separate function
...
Because it will eventually need to get smarter.
2015-06-09 16:38:42 -07:00
Jason Ekstrand
11e941900a
vk/device: Actually allow destruction
2015-06-09 16:28:46 -07:00
Jason Ekstrand
5d4b6a01af
vk/cmd_buffer: Properly initialize/reset dynamic states
2015-06-09 16:27:55 -07:00
Jason Ekstrand
634a6150b9
vk/pipeline: Zero out the depth-stencil state when not in use
2015-06-09 16:26:55 -07:00
Jason Ekstrand
919e7b7551
vk/device: Use anv_CreateDynamicViewportState instead of the vk one
2015-06-09 16:01:56 -07:00
Jason Ekstrand
0599d39dd9
vk/device: Dedent the vkCreateDynamicViewportState call
2015-06-09 15:53:26 -07:00
Chad Versace
d57c4cf999
vk/util: Annotate anv_finishme() as printflike
2015-06-09 14:46:49 -07:00
Chad Versace
822cb16abe
vk: Define anv_printflike() macro
2015-06-09 14:46:45 -07:00
Chad Versace
081f617b5a
vk/image: Stop hardcoding alignment of stencil surfaces
...
Look up the alignment from anv_tile_info_table.
2015-06-09 14:16:56 -07:00
Chad Versace
e6bd568f36
vk/image: Rewrite tile info table
...
- Reduce the number of table lookups in anv_image_create from 4 to 1.
- Add field for surface alignment.
- Shorten field names tile_width, tile_height -> width, height.
2015-06-09 14:16:45 -07:00
Chad Versace
5b777e2bcf
vk/image: Delete an old comment
2015-06-09 14:14:29 -07:00
Jason Ekstrand
d842a6965f
vk/compiler: Free the GL errors data
2015-06-09 12:36:23 -07:00
Jason Ekstrand
9f292219bf
vk/compiler: Free more of prog_data when tearing down a pipeline
2015-06-09 12:36:23 -07:00
Jason Ekstrand
66b00d5e5a
vk/queue: Embed the queue in and allocate it with the device
2015-06-09 12:36:23 -07:00
Jason Ekstrand
38f5eef59d
vk/device: Free border color states when we have valgrind
2015-06-09 12:36:23 -07:00
Jason Ekstrand
999b56c507
vk/device: Destroy all batch buffers
...
Due to a copy+paste error, we were destroying all but the first batch or
surface state buffer. Now we destroy them all.
2015-06-09 12:36:23 -07:00
Jason Ekstrand
3a38b0db5f
vk/meta: Clean up temporary objects
2015-06-09 12:36:23 -07:00
Jason Ekstrand
9d6f55dedf
vk/surface_view: Add a destructor
2015-06-09 12:36:23 -07:00
Chad Versace
e6162c2fef
vk/image: Add anv_image::h_align,v_align
...
Use the new fields to compute RENDER_SURFACE_STATE.Surface*Alignment.
We still hardcode them to 4, though.
2015-06-09 12:19:24 -07:00
Jason Ekstrand
58afc24e57
vk/allocator: Remove the concept of a slave block pool
...
This reverts commit d24f8245db .
2015-06-08 17:46:32 -07:00
Jason Ekstrand
b6363c3f12
vk/device: Remove the binding table pools/streams
2015-06-08 17:45:57 -07:00
Jason Ekstrand
531549d9fc
vk/pipeline: Move freeing the program stream to pipeline.c
...
It's created in pipeline.c so we should free it there.
2015-06-08 14:27:04 -07:00
Jason Ekstrand
66a4dab89a
vk/pipeline: Don't destroy the program stream
...
It's freed in compiler.cpp and we don't want to free it twice.
2015-06-08 13:53:19 -07:00
Jason Ekstrand
920fb771d4
vk/allocator: Make the use of NULL_BLOCK in state_stream_finish explicit
2015-06-08 13:53:19 -07:00
Kristian Høgsberg Kristensen
52637c0996
vk: Quiet a few warnings
2015-06-08 08:51:40 -07:00
Kristian Høgsberg Kristensen
9eab70e54f
vk: Create a minimal context for the compiler
...
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.
2015-06-08 08:51:40 -07:00
Jason Ekstrand
ce00233c13
vk/cmd_buffer: Use the dynamic state stream in emit_dynamic and merge_dynamic
2015-06-05 17:26:41 -07:00
Jason Ekstrand
e69588b764
vk/device: Use a 64-byte alignment for CC state
2015-06-05 17:26:26 -07:00
Jason Ekstrand
c2eeab305b
vk/pipeline: Actually free the program stream and dynamic pool
2015-06-05 17:26:26 -07:00
Jason Ekstrand
ed2ca020f8
vk/allocator: Avoid double-free in the bo pool
2015-06-05 17:12:28 -07:00
Jason Ekstrand
aa523d3c62
vk/gem: Call VALGRIND_FREELIKE_BLOCK before unmapping
2015-06-05 16:41:49 -07:00
Chad Versace
87d98e1935
vk: Fix 2 incorrect typecasts
...
The compiler didn't find the cast errors because all Vulkan types are
just integers.
2015-06-04 14:32:22 -07:00
Chad Versace
b981379bcf
vk: Make make clean remove generated spirv headers
2015-06-04 14:26:46 -07:00
Jason Ekstrand
8d930da35d
vk/allocator: Remove an unneeded VG() wrapper
2015-06-04 09:14:33 -07:00
Jason Ekstrand
7f90e56e42
vk/device: Dissalow device destruction
2015-06-04 09:14:33 -07:00
Chad Versace
9cd42b3dea
vk: Fix build
...
Commit 1286bd, which deleted vk.c, broke the build. Update the Makefile
to fix it.
2015-06-04 09:01:30 -07:00
Jason Ekstrand
251aea80b0
vk/DS: Mask stencil masks to 8 bits
2015-06-03 16:59:13 -07:00
Kristian Høgsberg Kristensen
a37d122e88
vk: Set color/blend state in meta clear if not set yet
2015-06-02 23:08:05 -07:00
Kristian Høgsberg Kristensen
1286bd3160
vk: Delete vk.c test case
...
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.
2015-06-02 22:57:42 -07:00
Kristian Høgsberg Kristensen
2f6aa424e9
vk: Update generated headers with support for 64 bit fields
2015-06-02 22:57:42 -07:00
Kristian Høgsberg Kristensen
5744d1763c
vk: Set cb_state to NULL at cmd buffer create time
...
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.
2015-06-02 22:57:42 -07:00
Kristian Høgsberg Kristensen
c8f078537e
vk: Implement vertexOffset parameter of vkCmdDrawIndexed()
...
As exposed by the func.draw_indexed test, we were ignoring the argument
and hardcoding 0.
2015-06-02 22:57:42 -07:00