mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-27 23:25:50 +03:00
vrclient: Unwrap vulkan objects outside of vrclient_translate_texture_dxvk.
CW-Bug-Id: #22729
This commit is contained in:
parent
ec9b2692c7
commit
5ef99b39a3
@ -467,10 +467,6 @@ w_Texture_t vrclient_translate_texture_dxvk( const w_Texture_t *texture, w_VRVul
|
||||
dxvk_surface->lpVtbl->GetVulkanImageInfo(dxvk_surface, &image_handle, image_layout, image_info);
|
||||
|
||||
vkdata->m_nImage = (uint64_t)image_handle;
|
||||
vkdata->m_pDevice = get_native_VkDevice(vkdata->m_pDevice);
|
||||
vkdata->m_pPhysicalDevice = get_native_VkPhysicalDevice(vkdata->m_pPhysicalDevice);
|
||||
vkdata->m_pInstance = get_native_VkInstance(vkdata->m_pInstance);
|
||||
vkdata->m_pQueue = get_native_VkQueue(vkdata->m_pQueue);
|
||||
vkdata->m_nWidth = image_info->extent.width;
|
||||
vkdata->m_nHeight = image_info->extent.height;
|
||||
vkdata->m_nFormat = image_info->format;
|
||||
|
@ -60,10 +60,10 @@ static void load_compositor_texture_dxvk( uint32_t eye, const w_Texture_t *textu
|
||||
state->texture = vrclient_translate_texture_dxvk( texture, &vkdata, state->dxvk_surface, &state->dxvk_device,
|
||||
&state->image_layout, &image_info );
|
||||
state->vkdata.m_nImage = vkdata.m_nImage;
|
||||
state->vkdata.m_pDevice = vkdata.m_pDevice;
|
||||
state->vkdata.m_pPhysicalDevice = vkdata.m_pPhysicalDevice;
|
||||
state->vkdata.m_pInstance = vkdata.m_pInstance;
|
||||
state->vkdata.m_pQueue = vkdata.m_pQueue;
|
||||
state->vkdata.m_pDevice = get_native_VkDevice( vkdata.m_pDevice );
|
||||
state->vkdata.m_pPhysicalDevice = get_native_VkPhysicalDevice( vkdata.m_pPhysicalDevice );
|
||||
state->vkdata.m_pInstance = get_native_VkInstance( vkdata.m_pInstance );
|
||||
state->vkdata.m_pQueue = get_native_VkQueue( vkdata.m_pQueue );
|
||||
state->vkdata.m_nQueueFamilyIndex = vkdata.m_nQueueFamilyIndex;
|
||||
state->vkdata.m_nWidth = vkdata.m_nWidth;
|
||||
state->vkdata.m_nHeight = vkdata.m_nHeight;
|
||||
@ -197,6 +197,10 @@ static const w_Texture_t *set_skybox_override_d3d11_init( const w_Texture_t *tex
|
||||
|
||||
state->textures[i] = vrclient_translate_texture_dxvk( texture, &state->vkdata[i], dxvk_surface,
|
||||
&dxvk_device, &image_layout, &image_info );
|
||||
state->vkdata[i].m_pDevice = get_native_VkDevice( state->vkdata[i].m_pDevice );
|
||||
state->vkdata[i].m_pPhysicalDevice = get_native_VkPhysicalDevice( state->vkdata[i].m_pPhysicalDevice );
|
||||
state->vkdata[i].m_pInstance = get_native_VkInstance( state->vkdata[i].m_pInstance );
|
||||
state->vkdata[i].m_pQueue = get_native_VkQueue( state->vkdata[i].m_pQueue );
|
||||
|
||||
if (compositor_data.dxvk_device && dxvk_device != compositor_data.dxvk_device)
|
||||
{
|
||||
|
@ -44,6 +44,10 @@ static void load_overlay_texture_dxvk( const w_Texture_t *texture, struct set_ov
|
||||
|
||||
state->texture = vrclient_translate_texture_dxvk( texture, &state->vkdata, state->dxvk_surface, &state->dxvk_device,
|
||||
&state->image_layout, &image_info );
|
||||
state->vkdata.m_pDevice = get_native_VkDevice( state->vkdata.m_pDevice );
|
||||
state->vkdata.m_pPhysicalDevice = get_native_VkPhysicalDevice( state->vkdata.m_pPhysicalDevice );
|
||||
state->vkdata.m_pInstance = get_native_VkInstance( state->vkdata.m_pInstance );
|
||||
state->vkdata.m_pQueue = get_native_VkQueue( state->vkdata.m_pQueue );
|
||||
|
||||
state->subresources.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
|
||||
state->subresources.baseMipLevel = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user