summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* anv: Add initial support for pushing image paramsJason Ekstrand2015-12-076-2/+124
| | | | | The helper to fill out the image params data-structure is stilly a dummy, but this puts the infastructure in place.
* anv/descriptor_set: Add support for storage images in layoutsJason Ekstrand2015-12-072-2/+23
|
* anv/image: Add a separate storage image surface stateJason Ekstrand2015-12-074-2/+43
| | | | | Thanks to hardware limitations, storage images may need a different surface format and/or other bits in the surface state.
* isl: Add initial support for storage imagesJason Ekstrand2015-12-073-0/+143
|
* HACK/i965: Disable assign_var_locations on uniformsJason Ekstrand2015-12-071-3/+3
| | | | This conflicts with the way we're doing uniforms in Vulkan.
* anv/pipeline: Only apply a pipeline layout if we have oneJason Ekstrand2015-12-071-1/+2
|
* anv/image: Refactor anv_image_make_surface()Chad Versace2015-12-071-28/+38
| | | | | | Reduce the number of function parameters. Deduce the anv_image::*_surface from the parameters instead of requiring the caller to do that.
* anv: Assert the succes of isl_surf_init()Chad Versace2015-12-071-1/+7
|
* anv: Use isl_tiling_flags in anv_image_create_infoChad Versace2015-12-075-26/+11
| | | | | | | | | | | Replace anv_image_create_info::force_tiling anv_image_create_info::tiling with the bitmask anv_image_create_info::isl_tiling_flags This allows us to drop the function anv_image.c:choose_isl_tiling_flags().
* anv: Fix anv_gem_set_tiling to respect tiling paramChad Versace2015-12-071-1/+1
| | | | | Function anv_gem_set_tiling() ignored its 'tiling' parameter. It unconditionally set the bo's tiling to I915_TILING_X.
* anv: Remove unused anv_format_s8_uintChad Versace2015-12-072-10/+0
| | | | This is no longer needed after migrating to isl.
* vk: Don't override and hardcode autoconf CFLAGSKristian Høgsberg Kristensen2015-12-041-3/+1
| | | | | To disable optimizations pass CFLAGS="-O0 -g" on the configure command line.
* vk: Move isl files to libisl.la helper libraryKristian Høgsberg Kristensen2015-12-041-3/+7
| | | | These will be in their own library eventually - let's just do that now.
* anv/image: Fix choice of isl_surf_usage for depthstencil imagesChad Versace2015-12-041-14/+20
| | | | | | | | Fixes assertion in vkCreateImage when VkFormat is combined depthstencil. Fixed many vulkancts tests that use combined depthstencil. For example, fixes dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.\ not_equal_less_or_equal_not_equal_greater.
* anv: Add func anv_get_isl_format()Chad Versace2015-12-042-0/+26
|
* anv/image: Delete old ifdef'd out codeChad Versace2015-12-041-32/+0
|
* vk: Add needed builddir subdirectories to the include pathJason Ekstrand2015-12-041-0/+2
| | | | This fixes out-of-tree builds and closes #1
* vk: gem handles are uint32_tKristian Høgsberg Kristensen2015-12-043-19/+19
| | | | No functional difference, but lets be consistent with the kernel API.
* vk: Update the README for 0.210.1Jason Ekstrand2015-12-041-7/+13
|
* vk: Turn on Bay Trail, Cherryview and Broxton supportKristian Høgsberg2015-12-041-9/+7
|
* vk: Map uncached, coherent memory as write-combineKristian Høgsberg Kristensen2015-12-045-10/+17
| | | | This gives us the required characteristics for the memory type.
* vk: Expose two memory types for non-LLC GPUsKristian Høgsberg Kristensen2015-12-042-10/+37
| | | | | | | | 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.
* vk: clflush all state for non-LLC GPUsKristian Høgsberg2015-12-0413-85/+203
|
* vk: Set I915_CACHING_NONE for userptr BOs when !llcKristian Høgsberg2015-12-043-0/+41
| | | | | | | | | Regular objects are created I915_CACHING_CACHED on LLC platforms and I915_CACHING_NONE on non-LLC platforms. However, userptr objects are always created as I915_CACHING_CACHED, which on non-LLC means snooped. That can be useful but comes with a bit of overheard. Since we're eplicitly clflushing and don't want the overhead we need to turn it off.
* vk: Implement vkFlushMappedMemoryRanges()Kristian Høgsberg2015-12-042-4/+42
| | | | We'll do a runtime switch on device->info.has_llc for now.
* nir/spirv: Update to SPIR-V version 1.0Jason Ekstrand2015-12-033-49/+44
|
* anv/gen9: Fix SURFACE_STATE halign and valignChad Versace2015-12-031-4/+35
| | | | | | | | | | Pre-Skylake, RENDER_SUFFACE_STATE.SurfaceVerticalAlignment is in units of surface samples. A surface sample is equivalent to a pixel in all surfaces except interleaved multisample surfaces. In Skylake, it is in units of surface elements. A surface element is equivalent to a surface sample except for compressed formats, in which case the element is a compression block.
* anv: Embed isl_surf into anv_surfaceChad Versace2015-12-038-61/+39
| | | | | This reduces struct anv_surface to just two members: an offset and the embedded isl_surf.
* anv/image: Drop assertions on SURFTYPE extent limitsChad Versace2015-12-031-22/+0
| | | | | | | | In anv_image_create(), stop asserting that VkImageCreateInfo::extent does not exceed the hardware limits for the given SURFTYPE. The assertions were incorrect because they did not take into account the hardware gen. Anyways, these types of assertions belong in isl, not anvil.
* anv/image: Use isl to calculate surface layoutChad Versace2015-12-031-154/+85
| | | | | | | | Remove the surface layout calculations in anv_image_make_surface(). Let isl_surf_init() do the heavy lifting. Fixes 8 Crucible tests and regresses none. (hw=Broadwell and crucible@33d91ec).
* isl: Implement isl_surf_init() for gen4-gen9Chad Versace2015-12-0314-59/+2966
| | | | | | | | | | | | This is a big code push. The patch is about 3000 lines. Function isl_surf_init() calculates the physical layout of a surface. The implementation is "complete" (but untested) for all 1D, 2D, 3D, and cube surfaces for gen4 through gen9, except: * gen9 1D surfaces * gen9 Ys multisampled surfaces * auxiliary surfaces (such as hiz, mcs, ccs)
* isl: Rename legacy Y tiling to ISL_TILING_Y0Chad Versace2015-12-035-7/+10
| | | | | | | Rename legacy Y tiling from ISL_TILING_Y to ISL_TILING_Y0 in order to clearly distinguish it from Yf and Ys. Using ISL_TILING_Y to denote legacy Y tiling would lead to confusion with i965, because i965 uses I195_TILE_Y to denote *any* Y tiling.
* anv/image: Vulkan's depthPitch is in bytes, not rowsChad Versace2015-12-031-1/+3
| | | | Fix for VkGetImageSubresourceLayout.
* anv/device: Give a version of 0.210.1 in apiVersionJason Ekstrand2015-12-031-1/+1
|
* vk: Add new WSI support and bump the API to 0.210.1Jason Ekstrand2015-12-0310-714/+900
|
* anv/entrypoints: Run the headers through the preprocessor firstJason Ekstrand2015-12-032-3/+9
| | | | | | | This allows us to filter based on preprocessor directives. We could build a partial preprocessor into the generator, but we would likely get it wrong. This allows us to filter out, for instance, windows-specific WSI stuff.
* vk/0.210.0: Advertise version 0.210.0Jason Ekstrand2015-12-034-6125/+3
|
* vk/0.210.0: Update queries to the new APIJason Ekstrand2015-12-033-63/+82
|
* vk/0.210.0: Fix how we handle access flags in barriersJason Ekstrand2015-12-031-12/+12
| | | | | The initial implementation in the 0.210.0 API update was misguieded as to what the access flags meant. This should be more correct.
* vk/0.210.0: Update the VkFormat enumJason Ekstrand2015-12-033-236/+254
|
* vk/0.210.0: Rework vkQueueSubmitJason Ekstrand2015-12-033-23/+40
|
* vk/0.210.0: Remove depth clip and add depth clampJason Ekstrand2015-12-034-7/+4
|
* vk/0.210.0: Rework device features and limitsJason Ekstrand2015-12-032-79/+105
|
* vk/0.210.0: Rework QueueFamilyPropertiesJason Ekstrand2015-12-032-2/+4
|
* vk/0.210.0: Rework result and structure type enumsJason Ekstrand2015-12-034-67/+71
| | | | | | 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.
* vk/0.210.0: Remove the VkShaderStage enumJason Ekstrand2015-12-0314-158/+133
| | | | | | This made for an unfortunately large amount of work since we were using it fairly heavily internally. However, gl_shader_stage does basically the same things, so it's not too bad.
* vk/0.210.0: Remove VkShaderJason Ekstrand2015-12-036-157/+58
|
* vk/0.210.0: Rework memory property flagsJason Ekstrand2015-12-032-8/+10
|
* vk/0.210.0: Remove some unused enum valuesJason Ekstrand2015-12-031-6/+0
|
* vk/0.210.0: Update VkPipelineStageFlagBitsJason Ekstrand2015-12-031-2/+2
|