Kristian Høgsberg
a9f2115486
vk: Return VK_SUCCESS for all descriptor pool entry points
2015-05-18 10:27:07 -07:00
Kristian Høgsberg
60ebcbed54
vk: Start Implementing vkGetFormatInfo()
...
We move the format table and vkGetFormatInfo to their own file in the
process.
2015-05-18 10:27:07 -07:00
Kristian Høgsberg
454345da1e
vk: Add script for generating ifunc entry points
...
This lets us generate a hash table for vkGetProcAddress and lets us call
public functions internally without the public entrypoint overhead.
2015-05-18 10:27:02 -07:00
Kristian Høgsberg
75cb85c56a
vk: Add missing VKAPI for vkQueueRemoveMemReferences
2015-05-17 21:08:30 -07:00
Jason Ekstrand
057bef8a84
vk/device: Use bias rather than layers for computing binding table size
...
Because we statically use the first 8 binding table entries for render
targets, we need to create a table of size 8 + surfaces.
2015-05-16 10:42:53 -07:00
Jason Ekstrand
4223de769e
vk/device: Simplify surface_count calculation
2015-05-16 10:23:09 -07:00
Kristian Høgsberg
3b9f32e893
vk: Make cmd_buffer->bindings a pointer
...
This lets us save and restore efficiently by just moving the pointer to
a temporary bindings struct for meta.
2015-05-15 18:12:07 -07:00
Kristian Høgsberg
9540130c41
vk: Move vertex buffers into struct anv_bindings
2015-05-15 16:34:31 -07:00
Kristian Høgsberg
bf096c9ec3
vk: Build binding tables at bind descriptor time
...
This changes the way descriptor sets and layouts work so that we fill
out binding table contents at the time we bind descriptor sets. We
manipulate the binding table contents and sampler state in a shadow-copy
in anv_cmd_buffer. At draw time, we allocate the actual binding table
and sampler state and flush the anv_cmd_buffer copies.
2015-05-15 16:05:31 -07:00
Kristian Høgsberg
0a775e1eab
vk: Rename dyn_state_pool to dynamic_state_pool
...
Given that we already tolerate surface_state_pool and the even longer
instruction_state_pool, there's no reason to arbitrarily abbreviate
dynamic.
2015-05-15 15:22:29 -07:00
Kristian Høgsberg
f5b0f1351f
vk: Consolidate image, buffer and color attachment views
...
These are all just surface state, offset and a bo.
2015-05-15 15:22:29 -07:00
Jason Ekstrand
a1309c5255
vk/pass: Emit a flushing pipe control at the end of the pass
...
This is rather crude but it at least makes sure that all the render targets
get flushed at the end of the pass. We probably actually want to do
somthing based on image layout traansitions, but this will work for now.
2015-05-13 22:23:30 -07:00
Kristian Høgsberg
83c7e1f1db
vk: Add support for sampler descriptors
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
4f9eaf77a5
vk: Use a typesafe anv_descriptor struct
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
18acfa7301
vk: Fix copy-n-paste sType in vkCreateSampler
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
a1ec789b0b
vk: Add a dynamic state stream to anv_cmd_buffer
...
We'll need this for sampler state.
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
3f52c016fa
vk: Move struct anv_sampler to private.h
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
a77229c979
vk: Allocate layout->count number of descriptors
...
layout->count is the number of descriptors the application
requested. layout->total is the number of entries we need across all
stages.
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
a3fd136509
vk: Fill out sampler state from API values
2015-05-13 14:47:11 -07:00
Kristian Høgsberg
2b7a060178
vk: Fix stale error handling in vkQueueSubmit
2015-05-12 14:38:58 -07:00
Kristian Høgsberg
cb986ef597
vk: Submit all cmd buffers passed to vkQueueSubmit
2015-05-12 14:38:12 -07:00
Jason Ekstrand
ffe9f60358
vk: Add stub() and stub_return() macros and mark piles of functions as stubs
2015-05-12 13:45:02 -07:00
Kristian Høgsberg
d77c34d1d2
vk: Add clear load-op for render passes
2015-05-11 23:25:29 -07:00
Kristian Høgsberg
b734e0bcc5
vk: Add support for driver-internal custom pipelines
...
This lets us disable the viewport, use rect lists and repclear.
2015-05-11 23:25:29 -07:00
Kristian Høgsberg
55b9b703ea
vk: Add anv_batch_emit_merge() helper macro
...
This lets us emit a state packet by merging to half-backed versions,
typically one from the pipeline object and one from a dynamic state
objects.
2015-05-11 23:25:28 -07:00
Kristian Høgsberg
099faa1a2b
vk: Store bo pointer in anv_image and anv_buffer
...
We don't need to point back to the memory object the bo came from.
Pointing directly to a bo lets us bind images and buffers to other
bos - like our allocator bos.
2015-05-11 23:25:28 -07:00
Kristian Høgsberg
769785c497
Add vulkan driver for BDW
2015-05-09 11:38:32 -07:00