Jason Ekstrand
aab9517f3d
vulkan-1.0.0: Misc. field and argument renames
2016-01-14 07:41:45 -08:00
Jason Ekstrand
802f00219a
anv/device: Update features and limits
2016-01-14 07:30:46 -08:00
Jason Ekstrand
aee970c844
anv/device: Bump the max program size again
...
No one will ever need more than 128K, right?
2016-01-12 13:49:05 -08:00
Kristian Høgsberg Kristensen
925ad84700
vk: Advertise number of timestamp bits
...
We have 36 bits.
2016-01-09 00:51:14 -08:00
Kristian Høgsberg Kristensen
dae800daa8
vk: Expose correct timestampPeriod for SKL
...
Skylake uses 83.333ms per tick.
2016-01-09 00:50:04 -08:00
Kristian Høgsberg Kristensen
7c5e1fd998
vk: Remove unsupported warnings for Skylake and Broxton
...
These are working as well as Broadwell and Cherryiew. The recent merge
from mesa master brings in Kabylake device info and that should be all
we need to enable that.
2016-01-08 22:29:06 -08:00
Jordan Justen
c7f6e42a7d
anv: Increate dynamic pool block size from 2k to 16k
...
This is needed because compute push constant data is replicated per
invocation. For gen7, this can be up to 64. With a push constant data
max of 128 bytes, this is 8k of data. We need additional space for
local-id payloads, so we are going with 16k for now.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-08 13:03:30 -08:00
Kristian Høgsberg Kristensen
30521fb19e
vk: Implement a basic pipeline cache
...
This is not really a cache yet, but it allows us to share one state
stream for all pipelines, which means we can bump the block size without
wasting a lot of memory.
2016-01-05 12:03:21 -08:00
Kristian Høgsberg Kristensen
f551047751
vk: Destroy device->mutex when destroying the device
2016-01-05 12:03:21 -08:00
Kristian Høgsberg Kristensen
5526c1782a
vk: Handle allocation failures in meta init paths
...
Fixes dEQP-VK.api.object_management.alloc_callback_fail.* failures.
2016-01-04 10:07:08 -08:00
Jason Ekstrand
6b0b57225c
anv/device: Only allocate whole pages in AllocateMemory
...
The kernel is going to give us whole pages anyway, so allocating part of a
page doesn't help. And this ensures that we can always work with whole
pages.
2016-01-02 07:52:24 -08:00
Jason Ekstrand
f076d5330d
anv/device: Handle non-4k-aligned calls to MapMemory
...
As per the spec:
minMemoryMapAlignment is the minimum required alignment, in bytes, of
host-visible memory allocations within the host address space. When
mapping a memory allocation with vkMapMemory, subtracting offset bytes
from the returned pointer will always produce a multiple of the value of
this limit.
2016-01-01 09:29:29 -08:00
Jason Ekstrand
3421ba1843
anv/device: Place memory types at heapIndex == 0
...
Previously, they were at heapIndex == 1 even though we only advertised one
heap.
2015-12-30 19:32:43 -08:00
Kristian Høgsberg Kristensen
a00524a216
vk: Unstub VkSemaphore implementation
...
There really is nothing to do for us here, at least with the current
kernel interface.
2015-12-28 21:57:56 -08:00
Jason Ekstrand
9c84b6cce0
anv/device: Set device->info sooner in CreateDevice
...
anv_block_pool_init calls anv_block_pool_grow which checks
device->info.has_llc to see if it needs to set caching parameters.
If we don't set device->info early enough, this reads an undefined value
which is probably 0 and not what we want on llc platforms.
Found with valgrind.
2015-12-28 13:29:01 -08:00
Kristian Høgsberg Kristensen
220ac9337b
vk: Only require wc bo mmap for !llc GPUs
2015-12-19 22:25:57 -08:00
Kristian Høgsberg Kristensen
c4802bc44c
vk/gen8: Implement VkEvent for gen8
...
We use PIPE_CONTROL for setting and resetting the event from cmd buffers
and MI_SEMAPHORE_WAIT in polling mode for waiting on an event.
2015-12-19 22:17:19 -08:00
Kristian Høgsberg Kristensen
8ac46d84ff
vk: Fix check for I915_PARAM_MMAP_VERSION
...
Comparing the wrong thing for < 1.
2015-12-18 17:24:19 -08:00
Jason Ekstrand
b1325404c5
anv/device: Handle zero-sized memory allocations
2015-12-17 11:00:38 -08:00
Jason Ekstrand
28c4ef9d6c
anv/device: Bump the size of the instruction block pool
...
Some CTS test shaders were failing to compile. At some point soon, we
really need to make a real pipeline cache and stop using a block pool for
this.
2015-12-15 11:49:28 -08:00
Jason Ekstrand
783a21192c
anv: Add support for storage texel buffers
2015-12-14 16:51:12 -08:00
Jason Ekstrand
1f98bf8da0
anv: Pass an isl_format into fill_buffer_surface_state
2015-12-14 16:14:20 -08:00
Jason Ekstrand
c56186026f
anv: Add initial support for texel buffers
2015-12-12 16:11:23 -08:00
Kristian Høgsberg
dac57750db
vk: Turn on Bay Trail, Cherryview and Broxton support
2015-12-04 09:51:47 -08:00
Kristian Høgsberg Kristensen
bbb6875f35
vk: Map uncached, coherent memory as write-combine
...
This gives us the required characteristics for the memory type.
2015-12-04 09:51:47 -08:00
Kristian Høgsberg Kristensen
c3c61d210f
vk: Expose two memory types for non-LLC GPUs
...
We're required to expose a host-visible, coherent memory type. On big
core GPUs that share, LLC, we can expose one such memory type that's
also cached. However, on non-LLC GPUs we can't both be cached and
coherent. Thus, we expose both the required coherent type and the cached
but non-coherent combination.
2015-12-04 09:51:47 -08:00
Kristian Høgsberg
773592051b
vk: clflush all state for non-LLC GPUs
2015-12-04 09:51:47 -08:00
Kristian Høgsberg
e0b5f0308c
vk: Implement vkFlushMappedMemoryRanges()
...
We'll do a runtime switch on device->info.has_llc for now.
2015-12-04 09:51:47 -08:00
Jason Ekstrand
bfeaf67391
anv/device: Give a version of 0.210.1 in apiVersion
2015-12-03 15:23:33 -08:00
Jason Ekstrand
d666487dc6
vk: Add new WSI support and bump the API to 0.210.1
2015-12-03 15:15:29 -08:00
Jason Ekstrand
4c19243562
vk/0.210.0: Advertise version 0.210.0
2015-12-03 13:44:02 -08:00
Jason Ekstrand
4e904a0310
vk/0.210.0: Rework vkQueueSubmit
2015-12-03 13:44:02 -08:00
Jason Ekstrand
d689745303
vk/0.210.0: Rework device features and limits
2015-12-03 13:43:54 -08:00
Jason Ekstrand
74c4c4acb6
vk/0.210.0: Rework QueueFamilyProperties
2015-12-03 13:43:54 -08:00
Jason Ekstrand
fed3586f34
vk/0.210.0: Rework result and structure type enums
...
By and large, this is just moving enum values around. However, it also
removed VK_UNSUPPORTED which we were returning a number of places. Those
places now return VK_ERROR_INCOMPATABLE_DRIVER.
2015-12-03 13:43:54 -08:00
Jason Ekstrand
e6ab06ae7f
vk/0.210.0: Rework memory property flags
2015-12-03 13:43:54 -08:00
Jason Ekstrand
5a02441789
vk/0.210.0: Rename a parameter to GetImageSparseMemoryRequirements
2015-12-03 13:43:53 -08:00
Jason Ekstrand
a9fc0ce0e3
vk/0.210.0: Delete three no longer existant entrypoints
2015-12-03 13:43:53 -08:00
Jason Ekstrand
fcfb404a58
vk/0.210.0: Rework allocation to use the new pAllocator's
2015-12-03 13:43:53 -08:00
Jason Ekstrand
9349625d60
vk/0.210.0: Rework VkInstanceCreateInfo
2015-12-03 13:43:53 -08:00
Jason Ekstrand
6a6da54ccb
vk/0.210.0: Rename parameters to memory binding/mapping functions
2015-12-03 13:43:52 -08:00
Jason Ekstrand
aadb7dce9b
vk/0.210.0: Update to the new instance/device create structs
2015-12-03 13:43:52 -08:00
Jason Ekstrand
fd53603e42
vk/0.210.0: Misc. no-op structure changes
...
The only non-trivial change is to sparse resources that we don't handle
anyway.
2015-12-03 13:43:51 -08:00
Jason Ekstrand
fe644721aa
vk/0.210.0: Rename property pCount parameters
2015-12-03 13:43:51 -08:00
Jason Ekstrand
f1a7c7841f
vk/0.210.0: Switch to the new VKAPI function decorations
...
While we're at it, we do a bunch of the VkResult -> void updates
2015-11-30 12:46:30 -08:00
Jason Ekstrand
a89a485e79
vk/0.210.0: Rename CmdBuffer to CommandBuffer
2015-11-30 11:48:08 -08:00
Jason Ekstrand
6a8a542610
vk/0.210.0: A pile of minor enum updates
2015-11-30 11:12:44 -08:00
Jason Ekstrand
3db43e8f3e
vk/0.210.0: Switch to the new-style handle declarations
2015-11-30 10:58:02 -08:00
Kristian Høgsberg Kristensen
cd4721c062
vk: Add SKL support
...
Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
2015-11-25 22:34:10 -08:00
Jason Ekstrand
fa8db0dfcc
anv: Put all of the descriptor set stuff together in one file
...
The stuff to take descriptor sets and turn them into binding tables and
sampler tables is still in anv_cmd_buffer.c. We may want to consider
putting it in anv_descriptor_set.c eventually.
2015-11-18 14:58:43 -08:00