Timothy Arceri
7ae1be1028
util: remove LIST_INITHEAD macro
...
Just use the inlined function directly. The macro was replaced with
the function in ebe304fa54
.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
2019-10-28 11:24:38 +00:00
Erik Faye-Lund
86ed8132a5
zink: simplify gl-to-vulkan lowering
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
412e2aa23b
zink/spirv: more complete sampler-dim handling
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
f26eab3175
zink: fixup scissoring
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Duncan Hopkins
c4446098cf
zink: limited uniform buffer size so the limits is not exceeded.
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
4ef088f241
zink: do not set lineWidth to invalid value
...
Some implementations don't support the lineWidth-feature, so let's
avoid setting invalid state to them. But since we don't have a fallback
for this, inform the user.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
59f8ba05f5
zink: pass screen to zink_create_gfx_pipeline
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Duncan Hopkins
5cf93985a0
zink: respect ubo buffer alignment requirement
...
The driver can report a minimum alignment for UBOs, and that can be
larger than 64, which we've currently been using. Let's play ball, and
use the reported value instead.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Duncan Hopkins
108ba81c95
zink: fix line-width calculation
...
There's two things that goes wrong in this code on some drivers:
1. Rounding off the line-width to granularity can push it outside the
legal range.
2. A granularity of 0.0 results in NaN, because we divide by zero.
So let's make this code a bit more robust.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
df11f3f2ab
zink: fixup return-value
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
d5cbc05cde
zink: refactor blitting
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
a7fbc8bc7f
zink: implement resource_from_handle
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
65fbb1836a
zink: use VK_FORMAT_B8G8R8A8_UNORM for PIPE_FORMAT_B8G8R8X8_UNORM
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
867d892d90
zink: do not set VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for non-3D textures
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
d8f1cf4946
zink/spirv: alias var0 on tex0 etc instead
...
This fixes Quake3, and is more in line with directx semantics.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
c7bcb6e5dc
zink: lower two-sided coloring
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
67a9749ada
zink/spirv: alias generic varyings on non-generic ones
...
This gets rid of the nasty location-allocation hack.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
1f3d2b9f80
zink/spirv: implement load_front_face
...
We're now adding interface-types during code-emitting, so we need to
defer emitting the entry-point. No biggie, spirv_builder is prepares for
this.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:48 +00:00
Erik Faye-Lund
a046957a79
zink/spirv: fixup b2i32
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
b28156413f
zink: do not lower bools to float
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
3ed41e3bb6
zink/spirv: prepare for 1-bit booleans
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
c24c3da00a
zink/spirv: fixup b2i32 and implement b2f32
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
0a912269d4
zink/spirv: clean up get_[fu]vec_constant
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
3ceba2d312
zink/spirv: inline get_uvec_constant into emit_load_const
...
This is the only call-site that wants to specify unique values per
component for any of the get_*_constant functions. So let's give this
its own implementation instead, so we can ease the burden for the rest.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
20f6b19fdf
zink/spirv: add emit_uint_const-helper
...
While we're at it, let's move emit_float_const to the same location as
this needs to be defined at.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
f048196f9e
zink/spirv: add emit_bitcast-helper
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
0f697be76d
zink/spirv: use bit_size instead of hard-coding
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
54c46db1c8
zink/spirv: implement emit_float_const helper
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
89591c895c
zink/spirv: implement emit_select helper
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
2419022a0c
zink/spirv: implement b2i32
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
f4ad93462c
zink/spirv: implement bitwise ops
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
103776ab9c
zink/spirv: implement bcsel
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
0947afaa8f
zink/spirv: assert bit-size
...
This is going to make it easier to verify that 1-bit float sizes don't
leak into the rest of the code.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
bb895afaa0
zink/spirv: implement f2b1
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
04bb08ed35
zink/spirv: use ordered compares
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
3ef3ab2d54
zink: lower point-size
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
f24e14cc08
zink: add missing sRGB DXT-formats
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
d50ec9f798
zink: disable PIPE_CAP_QUERY_TIME_ELAPSED for now
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
b525348729
zink: support shadow-samplers
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
d9c068cba1
zink: fix rendering to 3D-textures
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
65e2cf98d5
zink: initialize nr_samples for pipe_surface
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
8575295c17
zink: use primconvert to get rid of 8-bit indices
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
2942becfe9
zink: also accept txl
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
2683619955
HACK: zink: suspend / resume queries on batch-boundaries
...
HACK because we assert that we don't overrun the pool. We need a
fallback here instead.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
67cde39c8c
zink: move set_active_query_state-stub to zink_query.c
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
7ebdf5be15
zink: disable timestamp-queries
...
We don't implement the get_timestamp context-method, so this is just
going to crash if anyone tries to use it. Let's implement it later.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
e084211c08
zink: fixup boolean queries
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:47 +00:00
Erik Faye-Lund
69189417ae
zink/spirv: support vec1 coordinates
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:46 +00:00
Erik Faye-Lund
499bf41487
zink: do not use both depth and stencil aspects for sampler-views
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:46 +00:00
Erik Faye-Lund
5f14168edf
zink/spirv: always enable Sampled1D for fragment shaders
...
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:46 +00:00