summaryrefslogtreecommitdiffstats
path: root/src/vulkan
Commit message (Collapse)AuthorAgeFilesLines
* vk: Add SKL supportKristian Høgsberg Kristensen2015-11-2510-172/+366
| | | | Signed-off-by: Kristian Høgsberg Kristensen <[email protected]>
* vk: Make entrypoint generator output gen9 entry pointsKristian Høgsberg Kristensen2015-11-251-1/+6
| | | | Signed-off-by: Kristian Høgsberg Kristensen <[email protected]>
* vk: Add GEN9 pack headerKristian Høgsberg Kristensen2015-11-251-0/+9767
|
* vk: Move all gen8 files to gen8 libKristian Høgsberg Kristensen2015-11-251-5/+5
|
* Merge remote-tracking branch 'mesa-public/master' into vulkanJason Ekstrand2015-11-231-14/+3
| | | | This pulls in nir cloning and some much-needed upstream refactors.
* anv/meta_clear: Don't trash state if no clears are neededJason Ekstrand2015-11-211-0/+26
|
* anv/meta_clear: Don't try to clear depth-stencil without LOAD_OP_CLEARJason Ekstrand2015-11-211-5/+7
|
* anv/meta: Add initial support for multi-slice array and 3-D copiesJason Ekstrand2015-11-201-148/+200
| | | | | We still need to fix up a few bits once we have real CPP values, but this should get us a long ways.
* anv/meta: Use array textures for 2DJason Ekstrand2015-11-201-10/+3
| | | | | This a total of 1 extra instruction in the shader and gives us a lot more flexibility in how we do blits.
* anv/meta: Keep z coordinate flat while blittingJason Ekstrand2015-11-201-2/+2
|
* gen8_state: Clamp sampler values to HW limitationsJason Ekstrand2015-11-202-3/+16
|
* gen8/pipeline: Properly handle MIN/MAX blend opsJason Ekstrand2015-11-201-0/+17
|
* gen8/pipeline: Set IndependentAlphaBlendEnable properlyJason Ekstrand2015-11-201-0/+6
|
* gen8/pipeline: Minor blending fixesJason Ekstrand2015-11-201-2/+4
| | | | This makes various fields match upstream mesa
* anv: Put all of the descriptor set stuff together in one fileJason Ekstrand2015-11-184-464/+504
| | | | | | 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.
* anv/device: Update the right sampler in UpdateDescriptorSetsJason Ekstrand2015-11-181-1/+1
|
* anv/cmd_buffer: Add a new genX_cmd_buffer file for shared codeJason Ekstrand2015-11-186-449/+286
| | | | | | | | | | | This file contains code that can be shared across gens modulo recompiling. In particular, we can share STATE_BASE_ADDRESS setup and handling of the vkPipelineBarrier call. Not sharing STATE_BASE_ADDRESS setup has already been a source of bugs and the gen7 and gen8 implementations of PipelineBarrier were line-for-line identical. Incidentally, this should fix MOCS settings for dynamic and surface state on Haswell.
* anv/gen7: A bunch of depth-stencil fixesJason Ekstrand2015-11-183-13/+15
| | | | | | There are various bits which move around between Haswell and Ivy Bridge that we weren't taking into account. This also makes us actually set the StencilWriteEnable in a sane way.
* gen7/pipeline: Re-arrange stencil parameters to match gen8Jason Ekstrand2015-11-171-11/+10
|
* anv/gen7: Implement CmdPipelineBarrierJason Ekstrand2015-11-171-1/+128
|
* anv/gen7: Don't use the upper bound on dynamic state base addressJason Ekstrand2015-11-171-3/+0
| | | | | It doesn't do much for us and, if we have to resize the dynamic state block pool for any reason, it becomes out-of-date.
* anv: Add initial Haswell supportJason Ekstrand2015-11-178-77/+171
|
* anv: Add macros for doing per-gen compilationJason Ekstrand2015-11-172-11/+169
|
* anv/entrypoints: Add dispatch support for haswellJason Ekstrand2015-11-171-1/+5
|
* anv/entrypoints: Use devinfo instead of a gen numberJason Ekstrand2015-11-172-6/+11
|
* anv/cmd_buffer: Pack the 3DSTATE_VF packet on-demandJason Ekstrand2015-11-174-16/+12
|
* anv/formats: Don't advertise stencil texture/blit prior to BroadwellJason Ekstrand2015-11-171-2/+4
|
* anv: Only include the pack headers where neededJason Ekstrand2015-11-1612-27/+46
| | | | | | | Previously, we were including gen7_pack.h, gen75_pack.h, and gen8_pack.h in anv_private.h. As we add more gens, this is going to become untenable. This commit moves things around so that we only use the pack headers when and if we need them.
* anv/cmd_buffer: Move gen-specific stuff into the appropreate filesJason Ekstrand2015-11-164-236/+240
|
* anv/cmd_buffer: Add a default descriptor type caseJason Ekstrand2015-11-141-0/+4
| | | | This silences a bunch of compiler warnings.
* anv/apply_pipeline_layout: Handle separate samplers and texturesJason Ekstrand2015-11-141-17/+73
|
* anv/gen8: Subtract 1 from num_elements when setting up buffer surface stateJason Ekstrand2015-11-131-3/+3
|
* anv/pipeline: Don't free blend states that don't existJason Ekstrand2015-11-132-1/+4
| | | | | Compute pipelines don't need a blend state so we shouldn't be unconditionally freeing it.
* isl: Embed brw_device_info in isl_deviceChad Versace2015-11-133-17/+9
| | | | Suggested-by: Jason Ekstrand <[email protected]>
* anv: Use enum isl_tiling everywhereChad Versace2015-11-137-36/+49
| | | | | | | | | In anv_surface and anv_image_create_info, replace member 'uint8_t tile_mode' with 'enum isl_tiling'. As a nice side-effect, this patch also reduces bug potential because the hardware enum values for tile modes are unstable across hardware generations.
* anv/device: Embed isl_deviceChad Versace2015-11-132-0/+10
| | | | | Embed struct isl_device into anv_physical_device and anv_device. It will later be used for surface layout calculations.
* isl: Add enum isl_tiling and a query funcChad Versace2015-11-132-0/+77
| | | | The query func is isl_tiling_get_extent.
* isl: Add structs isl_extent2d, isl_extent3dChad Versace2015-11-131-0/+11
| | | | They are nowhere used yet.
* isl: Add struct isl_deviceChad Versace2015-11-133-0/+48
| | | | | | | The struct is incomplete (it contains only the gen). And it's nowhere used yet. It will be used later for surface layout calculations.
* anv: Strip trailing whitespace from anv_device.cChad Versace2015-11-131-4/+4
|
* anv: Strip trailing space in anv_private.hChad Versace2015-11-121-1/+1
|
* anv: Remove redundant fields anv_format::bs,bw,bh,bdChad Versace2015-11-124-123/+127
| | | | Instead, use the equivalent fields in anv_format::isl_layout.
* anv/formats: Re-indent the fmt() macroChad Versace2015-11-121-1/+7
| | | | Use one line per struct member.
* anv: Use enum isl_format in anv_formatChad Versace2015-11-122-181/+179
| | | | | | | This patch begins using isl.h in Anvil. More refactors will follow. Change type of anv_format::surface_format from uint16_t -> enum isl_format.
* isl: Generate isl_format_layout.cChad Versace2015-11-124-3/+209
| | | | | | | | | | | | | | | | | | | | | | | | Generate an array of struct isl_format_layout, using isl_format_layout.csv as input. Each entry follows the patten: [ISL_FORMAT_R32G32B32A32_FLOAT] = { ISL_FORMAT_R32G32B32A32_FLOAT, .bs = 16, .bpb = 128, .bw = 1, .bh = 1, .bd = 1, .channels = { .r = { ISL_SFLOAT, 32 }, .g = { ISL_SFLOAT, 32 }, .b = { ISL_SFLOAT, 32 }, .a = { ISL_SFLOAT, 32 }, .l = {}, .i = {}, .p = {}, }, .colorspace = ISL_COLORSPACE_LINEAR, .txc = ISL_TXC_NONE, },
* isl: Add CSV of format layoutsChad Versace2015-11-121-0/+287
| | | | | Add file isl_format_layout.csv, which describes the block layout, channel layout, and colorspace of all hardware surface formats.
* isl: Add enum isl_formatChad Versace2015-11-121-0/+270
|
* anv/gen7: Implement the VS state depth-stall workaroundJason Ekstrand2015-11-104-0/+38
|
* anv/gen7: Properly handle a GS with zero invocationsJason Ekstrand2015-11-101-1/+1
|
* anv/gen7: Add push constant supportJason Ekstrand2015-11-101-0/+37
|