Lynne
931d45d4d6
vulkan: do not create imageviews with video encode/decode usage
...
This function is only used for filtering and generic compute.
The issue is that a view inherits the usage flags from the image
by default, and the spec says the view format must be compatible
with the usage. VkImageViewUsageCreateInfo allows us to filter out
the indeded uses of the imageview.
Pffff.
3 months ago
Lynne
4b128de44a
vulkan: enable selecting a compatible representation of format
...
When using **integer** images inside shaders, it turns out
that conversion doesn't automatically happen, but we need to
explicitly use the imageviews to get the image exposed as
a suitable representation for the shader.
Finally enables bitexact image representations.
3 months ago
Lynne
76e8afa8a6
hwcontext_vulkan: always enable MUTABLE creation flag
...
We need it even for something as simple as bitexact opening
of images.
3 months ago
Lynne
98f6d43146
vulkan: keep track of mapped memory in the buffer structure
...
Can/could be useful to know which buffers are mapped.
3 months ago
Lynne
3afdfe830f
vulkan: add support for AV_PIX_FMT_RGB96
3 months ago
Lynne
903f7f053a
vulkan: add support for AV_PIX_FMT_RGBA128
3 months ago
Lynne
2336e68565
lavu: bump minor and add APIChanges entries for new 32bpc pixfmts
3 months ago
Lynne
4f387a1c4e
lavu/pixfmt: add AV_PIX_FMT_RGB96
3 months ago
Lynne
281bba1d26
lavu/pixfmt: add AV_PIX_FMT_RGBA128
...
This format is useful for doing certain lossless transforms on images,
RCT in particular, which require you to escalate the size from 16 to
32 bits to avoid overflows.
APIchanges will be done alongside when comitting.
3 months ago
Martin Schitter
c993a91bea
avutil: add RGBF16 pix_fmt
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 months ago
James Almer
fd8b0dcfed
avutil/hwcontext_vulkan: add proper maps for XV3{0,6}
...
Signed-off-by: James Almer <jamrial@gmail.com>
3 months ago
James Almer
d41e5b0fc7
avutil/hwcontext_videotoolbox: add support for AYUV pixel format
...
Signed-off-by: James Almer <jamrial@gmail.com>
3 months ago
Lynne
0e19b05375
vulkan: fix layout qualifiers for 32-bit RGBA float storage reps
...
r8
r16/r16f
r32f
Sure, GLSL. Makes sense.
3 months ago
Lynne
8c47cf9eea
hwcontext_vulkan: enable shaderBufferInt64Atomics if supported
3 months ago
Lynne
168e8ae9bf
hwcontext_vulkan: add support for AV_PIX_FMT_RGBF32
3 months ago
Lynne
d55a351741
hwcontext_vulkan: add support for AV_PIX_FMT_RGBAF32
3 months ago
Lynne
1addd0fdca
vulkan: use correct signed image type for storage images
...
Using signed or unsigned integer formats/layouts requires that
"uimage" or "iimage" are used.
3 months ago
Lynne
c982376076
vulkan: extend ff_vk_shader_rep_fmt to be useful for bitexactness
...
The original either reported 8 or 16-bit conversion from the
original, rather than being able to return the actual original.
This makes it usable in a situation where preserving exactness
is required.
3 months ago
James Almer
1cead90292
avutil/pixdesc: use a bigger variable type when writing bitstream formats
...
Fixes fate-imgutils and fate-pixelutils under gcc-usan after
29ea34728f
.
Signed-off-by: James Almer <jamrial@gmail.com>
4 months ago
Lynne
80a0567a2f
vulkan: fix ImageView flexible array struct allocation
...
Same as the previous commit, the compiler may insert padding.
Thanks to Marvin Scholz for pointing this out.
4 months ago
Marvin Scholz
f5e2914a89
libavutil/vulkan: fix flexible array struct allocation
...
The flexible array member struct can have padding added by
the compiler which was not taken into account properly, which
could lead to a heap buffer overflow.
4 months ago
Lynne
4ad4f8101a
hwcontext_vulkan: set hwctx->device_features
...
This was forgotten during the recent device feature refactor.
4 months ago
Lynne
31def0c3ce
hwcontext_vulkan: remove redundant hostQueryReset setting
...
Its set just a few lines earlier.
4 months ago
Lynne
b8d1b4358b
vulkan: add a #define when printf debugging is enabled
4 months ago
James Almer
29ea34728f
avutil/pixfmt: add V30X pixel format
...
This maps to the 444YpCbCr10 pixel format as defined by Apple.
Signed-off-by: James Almer <jamrial@gmail.com>
4 months ago
James Almer
1f9424e0b1
avutil/pixfmt: add VYU444 pixel format
...
This maps to the 444YpCbCr8 pixel format as defined by Apple, which is ordered
Cr Y' Cb.
Signed-off-by: James Almer <jamrial@gmail.com>
4 months ago
James Almer
dc3ef53819
avutil/pixfmt: add UYVA pixel format
...
This maps to the 4444YpCbCrA8 pixel format as defined by Apple, which is ordered
Cb Y' Cr A.
Signed-off-by: James Almer <jamrial@gmail.com>
4 months ago
James Almer
263108a504
avutil/pixfmt: add AYUV pixel format
...
This maps to the 4444AYpCbCr8 pixel format as defined by Apple, which is ordered
A Y’ Cb Cr.
Signed-off-by: James Almer <jamrial@gmail.com>
4 months ago
James Almer
2e79690a70
avutil/pixfmt: extend the VUY{A,X} description
...
Signed-off-by: James Almer <jamrial@gmail.com>
4 months ago
Lynne
6871fd3170
vulkan: always enable GL_EXT_control_flow_attributes
4 months ago
Lynne
8c250da8f3
vulkan: always enable GL_EXT_shader_explicit_arithmetic_types
...
Implicit types were a mistake.
lowp/mediump/highp was a sin.
4 months ago
Lynne
9391d4ccc5
lavu/vulkan_spirv: use correct inclusion guards
...
Forgot to change them after moving the file over from libavfilter.
4 months ago
IndecisiveTurtle
d80676117a
libavutil/vulkan: Prevent crash on shaders with no descriptors
...
Needed to prevent crashes on vc2 vulkan encoder patch
4 months ago
Lynne
892f64ad9b
x86/tx_float: remove HAVE_AVX2_EXTERNAL checks
...
It'll always be enabled.
Thanks, nasm.
4 months ago
Lynne
b17a240c8d
Revert "x86/tx_float: set all operands for shufps"
...
This reverts commit 74f5fb6db8
.
4 months ago
Lynne
24c5a58e55
Revert "x86/tx_float: add missing check for AVX2"
...
This reverts commit f4097e4c1f
.
4 months ago
Lynne
bf643f989b
Revert "x86/tx_float: add missing preprocessor wrapper for AVX2 functions"
...
This reverts commit 750f378bec
.
4 months ago
Lynne
b890482d05
Revert "x86/tx_float: change a condition in a preprocessor check"
...
This reverts commit 0d8f43c74d
.
4 months ago
Lynne
0a1f8107bb
vulkan: move SPIR-V compilation code to libavutil
...
The code is not currently used by libavutil, its just where our
common Vulkan code is.
Since SPIR-V compilation will be needed by lavc, move it, rather
than having lavc including lavfi.
4 months ago
Lynne
ac092c6707
hwcontext_vulkan: guard all uses of new spec defines and fix stray bracket
...
This fixes compilation with less recent Vulkan headers.
4 months ago
Lynne
a304cbeb8d
vulkan: add profiling debug setting
...
This simply keeps all shader optimizations, but allows debug
data to be generated.
4 months ago
Lynne
832947be02
vulkan: don't enable GL_EXT_buffer_reference by default
...
Only nlmeans_vulkan uses it.
4 months ago
Lynne
356d1cc8ff
vulkan: parse instance list and add the DEBUG_UTILS extension
...
Required to let users know whether debugging is active.
4 months ago
Lynne
e3676d96cb
hwcontext_vulkan: move device feature struct setup to a new function
4 months ago
Lynne
535e5eb7f3
hwcontext_vulkan: enable VK_KHR_shader_relaxed_extended_instruction
4 months ago
Lynne
0d5bfd0b21
vulkan_functions: change extension type to a typedef uint64_t
...
We were getting a bit too close for comfort to the 32-bit limit
on enums.
4 months ago
Lynne
d80f9f55c8
vulkan: always enable GL_EXT_scalar_block_layout
...
This makes std430 (which we use everywhere already) fully match C
layout.
Extension was made mandatory in 1.2.
4 months ago
Lynne
37d5cb84e8
vulkan: check if current buffer has finished execution before picking another
...
This saves resources, as dependencies are freed/reclaimed with a lower latency,
and provies a speedup.
4 months ago
Lynne
877c5a9692
vulkan: use shader objects if supported
...
Shader objects finally allow completely independent shaders.
4 months ago
Lynne
d233d9902f
vulkan: move shader data execution state to execution pools
...
This finally permits using fully compiled shaders across
multiple execution contexts.
4 months ago