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
Jason Ekstrand
e702197e3f
vk/formats: Add a name to the metadata and better logging
2015-06-02 11:30:39 -07:00
Jason Ekstrand
fbafc946c6
vk/formats: Rework the formats table
2015-06-02 11:30:39 -07:00
Kristian Høgsberg Kristensen
f98c89ef31
vk: Move query related functionality to new file query.c
2015-06-01 21:52:45 -07:00
Jason Ekstrand
08748e3a0c
i965: Use NIR by default for vertex shaders on GEN8+
...
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 <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Matt Turner <mattst88@gmail.com>
2015-06-01 12:25:58 -07:00