Compare commits

...

3 Commits

Author SHA1 Message Date
Timo Rothenpieler
f7aaa8ecb5 forgejo/workflows: make test shared/static mode more human readable 2025-11-26 23:21:11 +00:00
Lynne
231f735d55 vulkan_dpx: use host visible allocation for host image copy buffer
Fixes black screen on Nvidia.
2025-11-26 18:33:10 +01:00
Lynne
162e07da61 vulkan_dpx: fix "upoad" typo 2025-11-26 18:32:25 +01:00
2 changed files with 10 additions and 9 deletions

View File

@@ -10,14 +10,14 @@ jobs:
fail-fast: false
matrix:
runner: [linux-aarch64]
shared: ['false']
shared: ['static']
bits: ['64']
include:
- runner: linux-amd64
shared: 'false'
shared: 'static'
bits: '32'
- runner: linux-amd64
shared: 'true'
shared: 'shared'
bits: '64'
runs-on: ${{ matrix.runner }}
steps:
@@ -27,7 +27,7 @@ jobs:
run: |
./configure --enable-gpl --enable-nonfree --enable-memory-poisoning --assert-level=2 \
$([ "${{ matrix.bits }}" != "32" ] || echo --arch=x86_32 --extra-cflags=-m32 --extra-cxxflags=-m32 --extra-ldflags=-m32) \
$([ "${{ matrix.shared }}" != "true" ] || echo --enable-shared --disable-static) \
$([ "${{ matrix.shared }}" != "shared" ] || echo --enable-shared --disable-static) \
|| CFGRES=$? && CFGRES=$?
cat ffbuild/config.log
exit $CFGRES

View File

@@ -50,9 +50,9 @@ typedef struct DecodePushData {
int padded_10bit;
} DecodePushData;
static int host_upoad_image(AVCodecContext *avctx,
FFVulkanDecodeContext *dec, DPXDecContext *dpx,
const uint8_t *src, uint32_t size)
static int host_upload_image(AVCodecContext *avctx,
FFVulkanDecodeContext *dec, DPXDecContext *dpx,
const uint8_t *src, uint32_t size)
{
int err;
VkImage temp;
@@ -102,7 +102,8 @@ static int host_upoad_image(AVCodecContext *avctx,
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
NULL, size,
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT);
if (err < 0)
return err;
@@ -163,7 +164,7 @@ static int vk_dpx_start_frame(AVCodecContext *avctx,
FFVulkanDecodePicture *vp = &pp->vp;
if (ctx->s.extensions & FF_VK_EXT_HOST_IMAGE_COPY)
host_upoad_image(avctx, dec, dpx, buffer, size);
host_upload_image(avctx, dec, dpx, buffer, size);
/* Host map the frame data if supported */
if (!vp->slices_buf &&