Chad Versace
ffbc32f8d9
anv/meta: Strip trailing whitespace
2016-02-01 10:51:01 -08:00
Jason Ekstrand
ea63663a72
wsi/x11: Remove B8G8R8_UNORM
...
We don't actually support that format yet because ISL doesn't have an enum
for it. We need to beef up the formats table to allow for tiled-only
formats.
2016-02-01 06:00:50 -08:00
Jordan Justen
f96a6c65a3
anv/gen7: Rename gen7_batch_lr* to emit_lr*
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 15:06:03 -08:00
Jordan Justen
b207a6b5aa
anv/gen7: Set BypassGatewayControl in MEDIA_VFE_STATE
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 15:06:03 -08:00
Jordan Justen
2d8726a4b7
anv/genX_pipeline: Remove unnecessary #include files
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:30:54 -08:00
Jordan Justen
8e48ff3ad6
anv/gen7: Set SLM size in interface descriptor
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:10:54 -08:00
Jordan Justen
ab0d8608d2
anv: Support MEDIA_VFE_STATE for gen7
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:08:34 -08:00
Jordan Justen
dd2effb0e7
anv/gen7: Subtract 1 from num_elements when setting up buffer surface state
...
e8f51fe4 for gen7
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:00:00 -08:00
Jordan Justen
4bb1e7937a
anv/gen7: Disable fs dispatch for depth/stencil only pipelines
...
292031a for gen7
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:00:00 -08:00
Jordan Justen
f5b3a2fe32
anv/gen7: Add support for gl_NumWorkGroups
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:00:00 -08:00
Jordan Justen
7e46cc8603
anv/gen7/compute: Setup push constants and local ids
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 09:00:00 -08:00
Jordan Justen
b1158ced45
anv/genX: Add genX_pipeline.c for compute_pipeline_create
...
Adds initial compute_pipeline_create implementation for gen7.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-30 08:58:11 -08:00
Jason Ekstrand
1a442a7923
Merge branch 'vulkan' into 'vulkan'
...
Vulkan WSI Wayland fixes
Two small fixes to make mailbox mode actually work again.
See merge request !4
2016-01-30 10:28:12 -05:00
Jason Ekstrand
c668dc9f75
anv/pass: Initialize has_resolve
2016-01-30 07:16:33 -08:00
Jason Ekstrand
ad813b072a
anv/wsi: Set the platform field of VkIcdSurfaceBase
2016-01-30 07:05:53 -08:00
Jason Ekstrand
5acc4e2ebf
anv/wsi/x11: Actually pull information from the window's visual
2016-01-30 03:51:47 -08:00
Jason Ekstrand
66e8b5cf2b
anv/wsi/x11: Actually check for DRI3
2016-01-30 03:50:31 -08:00
Jason Ekstrand
44ec860cd6
anv/WSI: Support more usage bits
...
They're just images and we have no intention of stompping alpha channels
(at least not yet), so there's no reason why you can't sample.
2016-01-29 20:52:44 -08:00
Jason Ekstrand
337c1e0871
anv/formats: Add more compressed formats
...
This adds support for the DX compression formats. Given that ETC and EAC
are working fine, these should be ok too.
2016-01-29 20:46:31 -08:00
Jason Ekstrand
c688e4db11
anv/wsi: Rework to be compatable with the loader
2016-01-29 20:39:21 -08:00
Jason Ekstrand
d4953fb340
vulkan: Import vk_icd.h
2016-01-29 20:37:45 -08:00
Jason Ekstrand
a19ceee46c
anv/device: Fix version check
...
The bottom-end check was wrong so it was only working on <= 1.0.0. Oops.
2016-01-29 20:36:58 -08:00
Kristian Høgsberg Kristensen
f28645f71c
anv: Don't disable snooping for mempools
...
There's an intermittent flushing problem with VkEvent that we need to
root cause. For now, using the snooping feature keeps the memory pools
up to date with GPU writes and fixes the problem.
2016-01-29 17:19:51 -08:00
Kristian Høgsberg Kristensen
0c4ef36360
anv: clflush is only orderered against mfence
...
We can't use the more fine-grained load and store fence commands (lfence
and mfence), since clflush is only guaranteed to be ordered with respect
to mfence.
2016-01-29 14:56:41 -08:00
Kristian Høgsberg Kristensen
31d3486bd2
anv: Limit flushing to the range of mapped memory
2016-01-29 14:56:41 -08:00
Ben Widawsky
89ec36f221
anv/cmd_buffer: Emit gen9 style SF state for CHV
...
The state for line width changes on Cherryview to use the GEN9 bits (for extra
precision).
2016-01-29 14:12:32 -08:00
Ben Widawsky
31508bd0ce
anv/gen8: Extract SF state
...
For upcoming patch to address difference in Cherryview.
2016-01-29 14:11:53 -08:00
Chad Versace
f8a4abcd15
anv: Do resolves at end of subpass
2016-01-28 10:49:50 -08:00
Chad Versace
bef8456ede
anv/meta: Remove unneeded resolve pipeline
...
Vulkan does not allow resolving a single-sample image. So remove that
pipeline from anv_meta_state::resolve::pipelines.
2016-01-28 10:45:11 -08:00
Chad Versace
ac5594fa71
anv/meta_resolve: Remove redundant initialization params
2016-01-28 10:14:39 -08:00
Chad Versace
142da00486
anv: Drop const on anv_framebuffer::attachments
...
The attachments should be const, but the driver's function signatures
are generally not const-friendly.
Drop the const because it conflicts with upcoming
anv_cmd_buffer_resolve_subpass().
2016-01-28 10:03:00 -08:00
Chad Versace
22258e279d
anv: Add anv_subpass::has_resolve
...
Indicates that the subpass has at least one resolve attachment.
2016-01-28 10:03:00 -08:00
Chad Versace
3d863e8dad
anv/meta_resolve: Save/Restore viewport and scissor
2016-01-28 10:03:00 -08:00
Chad Versace
8487569fa7
anv/meta_resolve: Begin pass outside emit_resolve()
...
This refactor is preparation for handling subpass resolve attachments.
2016-01-28 10:03:00 -08:00
Chad Versace
2bab3cd681
anv/image: Update usage flags for multisample images
...
Meta resolves multisample images by binding them as textures. Therefore
we must add VK_IMAGE_USAGE_SAMPLED_BIT.
2016-01-28 10:03:00 -08:00
Jason Ekstrand
608b411e9f
anv/device: Add a better version check.
...
We now check that the requested version is precicely within the range of
versions that we support.
2016-01-28 08:19:40 -08:00
Jason Ekstrand
6286a74f6b
anv/device: Advertise 1.0.2
2016-01-27 22:02:51 -08:00
Jason Ekstrand
ec80d6388a
anv/formats: Properly set FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
...
This was added last minute and the API bumped to 1.0.2.
2016-01-27 22:02:06 -08:00
Jason Ekstrand
c64bc5463d
anv/device: Improve the api version check to allow 1.0.X
2016-01-27 21:56:46 -08:00
Francisco Jerez
4604b2871a
vtn: Improve accuracy of acos approximation.
...
The adjusted polynomial coefficients come from the numerical
minimization of the L2 norm of the relative error. The old
coefficients would give a maximum relative error of about 15000 ULP in
the neighborhood around acos(x) = 0, the new ones give a relative
error bounded by less than 2000 ULP in the same neighborhood.
2016-01-27 19:55:21 -08:00
Jason Ekstrand
7fb35a8228
An alternate arccosine implementation
2016-01-27 19:55:21 -08:00
Jason Ekstrand
983db2b804
anv/meta_resolve: Fix a bug in the meta pipeline destroy path
2016-01-27 19:48:43 -08:00
Chad Versace
9b240a1e3d
anv/skl: Fix crash in 16x multisampling
...
We built meta clear and resolve pipelines for only up to 8x samples.
There were no 16x pipelines.
2016-01-27 18:38:15 -08:00
Chad Versace
61d3d49820
anv: Fix comment for anv_meta_state arrays
...
Array element i is for 2^i samples, not log2(i) samples.
2016-01-27 18:32:05 -08:00
Ben Widawsky
2af3281fee
anv/push constants: Use constant buffer #2
...
SKL has a workaround which requires either some weird programming of buffer 3,
OR, just never using buffer 0. Since we don't actually use multiple constant
buffers, it's easier to just not use 0.
Only SKL requires this workaround, but there is no harm in applying it to all
platforms. The big change here is that buffer #0 is relative to dynamic state
base normally (depending upon ISTPM), where buffer 1-3 is a GPU virtual address.
2016-01-27 17:09:36 -08:00
Chad Versace
5d4f3298ae
anv/meta: Implement multisample clears
2016-01-27 17:01:59 -08:00
Chad Versace
eb6fb65fd1
anv/meta: Simplify failure handling during clear init
...
Remove all the fine-grained cleanup in
anv_device_init_meta_clear_state(). Instead, if anything fails during
initialization, simply call anv_device_finish_meta_clear_state() and let
it clean up the partially initialized anv_meta_state::clear.
2016-01-27 17:01:56 -08:00
Chad Versace
4085f1f230
anv/meta: Implement vkCmdResolveImage
...
This handles multisample color images that have a floating-point or
normalized format and have a single array layer.
This does not yet handle integer formats nor multisample array images.
2016-01-27 16:55:59 -08:00
Chad Versace
8cc1e59d61
anv/meta: Add func anv_meta_get_iview_layer()
...
This function is just meta_blit_get_dest_view_base_array_slice(), but
moved to the shared header anv_meta.h.
Will be needed by anv_meta_resolve.c.
2016-01-27 16:52:30 -08:00
Chad Versace
8cc6f058ce
anv/gen8: Begin enabling pipeline multisample state
...
As far as I can tell, this patch sets all pipeline multisample state
except:
- alpha to coverage
- alpha to one
- the dispatch count for per-sample dispatch
2016-01-27 16:52:27 -08:00