Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Coffin <mcoffin13@gmail.com>2020-08-16 23:31:33 +0300
committerAndrew Eikum <aeikum@codeweavers.com>2020-10-14 23:05:31 +0300
commit74b7f33e984e5cec670bea1bc4bb7e9c94bf3873 (patch)
treef9ae9b4287fca67a791f74b18c1f0b5df3961606 /vrclient_x64
parented6a644fc32f8606087d6fc0d698c5c07f6f154a (diff)
vrclient: Add support for DXVK in IVROverlay::SetOverlayTexture
Diffstat (limited to 'vrclient_x64')
-rwxr-xr-xvrclient_x64/gen_wrapper.py25
-rw-r--r--vrclient_x64/vrclient_x64/vrclient_defs.h6
-rw-r--r--vrclient_x64/vrclient_x64/vrclient_main.c164
-rw-r--r--vrclient_x64/vrclient_x64/vrclient_private.h17
-rw-r--r--vrclient_x64/vrclient_x64/winIVROverlay.c40
5 files changed, 202 insertions, 50 deletions
diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py
index c12ad580..9062fcb7 100755
--- a/vrclient_x64/gen_wrapper.py
+++ b/vrclient_x64/gen_wrapper.py
@@ -350,6 +350,30 @@ def ivrmailbox_undoc3(cppname, method):
assert "001" in cppname
return "ivrmailbox_undoc3"
+def ivroverlay_set_overlay_texture(cppname, method):
+ if "001" in cppname:
+ return "ivroverlay_001_set_overlay_texture"
+ for version in ["002", "003", "004", "005"]:
+ if version in cppname:
+ return "ivroverlay_005_set_overlay_texture"
+ assert \
+ "007" in cppname or \
+ "008" in cppname or \
+ "010" in cppname or \
+ "011" in cppname or \
+ "012" in cppname or \
+ "013" in cppname or \
+ "014" in cppname or \
+ "016" in cppname or \
+ "017" in cppname or \
+ "018" in cppname or \
+ "019" in cppname or \
+ "020" in cppname or \
+ "021" in cppname or \
+ "022" in cppname or \
+ "024" in cppname
+ return "ivroverlay_set_overlay_texture"
+
method_overrides = [
("IVRClientCore", "Init", ivrclientcore_init),
("IVRClientCore", "GetGenericInterface", ivrclientcore_get_generic_interface),
@@ -364,6 +388,7 @@ method_overrides = [
("IVRRenderModels", "FreeTextureD3D11", ivrrendermodels_free_texture_d3d11),
("IVRRenderModels", "LoadIntoTextureD3D11_Async", ivrrendermodels_load_into_texture_d3d11_async),
("IVRMailbox", "undoc3", ivrmailbox_undoc3),
+ ("IVROverlay", "SetOverlayTexture", ivroverlay_set_overlay_texture),
]
method_overrides_data = [
diff --git a/vrclient_x64/vrclient_x64/vrclient_defs.h b/vrclient_x64/vrclient_x64/vrclient_defs.h
index e51646f6..9aeae065 100644
--- a/vrclient_x64/vrclient_x64/vrclient_defs.h
+++ b/vrclient_x64/vrclient_x64/vrclient_defs.h
@@ -29,7 +29,6 @@ typedef int
EVRNotificationType,
EVRNotificationError,
EVRNotificationStyle,
- EVROverlayError,
EGamepadTextInputLineMode,
EOverlayDirection,
EColorSpace,
@@ -312,4 +311,9 @@ typedef enum EVRRenderModelError
VRRenderModelError_InvalidTexture = 400,
} EVRRenderModelError;
+typedef enum EVROverlayError
+{
+ VROverlayError_InvalidHandle = 11,
+} EVROverlayError;
+
#endif
diff --git a/vrclient_x64/vrclient_x64/vrclient_main.c b/vrclient_x64/vrclient_x64/vrclient_main.c
index d3764384..5199bca0 100644
--- a/vrclient_x64/vrclient_x64/vrclient_main.c
+++ b/vrclient_x64/vrclient_x64/vrclient_main.c
@@ -744,56 +744,105 @@ static EVRCompositorError ivrcompositor_submit_wined3d(
}
#ifdef VRCLIENT_HAVE_DXVK
-static EVRCompositorError ivrcompositor_submit_dxvk(
- EVRCompositorError (*cpp_func)(void *, EVREye, Texture_t *, VRTextureBounds_t *, EVRSubmitFlags),
- void *linux_side, EVREye eye, Texture_t *texture, VRTextureBounds_t *bounds, EVRSubmitFlags flags,
- unsigned int version, struct compositor_data *user_data, IDXGIVkInteropSurface *dxvk_surface)
+static Texture_t vrclient_translate_texture_dxvk(Texture_t *texture, struct VRVulkanTextureData_t *vkdata,
+ IDXGIVkInteropSurface *dxvk_surface, IDXGIVkInteropDevice **p_dxvk_device, VkImageLayout *image_layout,
+ VkImageCreateInfo *image_info)
+{
+ struct Texture_t vktexture;
+ VkImage image_handle;
+
+ dxvk_surface->lpVtbl->GetDevice(dxvk_surface, p_dxvk_device);
+
+ (*p_dxvk_device)->lpVtbl->GetVulkanHandles(*p_dxvk_device, &vkdata->m_pInstance,
+ &vkdata->m_pPhysicalDevice, &vkdata->m_pDevice);
+
+ (*p_dxvk_device)->lpVtbl->GetSubmissionQueue(*p_dxvk_device, &vkdata->m_pQueue, &vkdata->m_nQueueFamilyIndex);
+
+ image_info->sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
+ image_info->pNext = NULL;
+
+ dxvk_surface->lpVtbl->GetVulkanImageInfo(dxvk_surface, &image_handle, image_layout, image_info);
+
+ load_vk_unwrappers();
+
+ 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;
+ vkdata->m_nSampleCount = image_info->samples;
+
+ vktexture = *texture;
+ vktexture.handle = vkdata;
+ vktexture.eType = TextureType_Vulkan;
+
+ return vktexture;
+}
+
+static EVROverlayError ivroverlay_set_overlay_texture_dxvk(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, Texture_t *),
+ void *linux_side, VROverlayHandle_t overlayHandle, Texture_t *texture,
+ unsigned int version, IDXGIVkInteropSurface *dxvk_surface)
{
struct VRVulkanTextureData_t vkdata;
IDXGIVkInteropDevice *dxvk_device;
struct Texture_t vktexture;
- VkImage image_handle;
VkImageLayout image_layout;
VkImageCreateInfo image_info;
VkImageSubresourceRange subresources;
EVRCompositorError err;
- dxvk_surface->lpVtbl->GetDevice(dxvk_surface, &dxvk_device);
+ vktexture = vrclient_translate_texture_dxvk(texture, &vkdata, dxvk_surface, &dxvk_device, &image_layout, &image_info);
- user_data->dxvk_device = dxvk_device;
+ subresources.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
+ subresources.baseMipLevel = 0;
+ subresources.levelCount = image_info.mipLevels;
+ subresources.baseArrayLayer = 0;
+ subresources.layerCount = image_info.arrayLayers;
- dxvk_device->lpVtbl->GetVulkanHandles(dxvk_device, &vkdata.m_pInstance,
- &vkdata.m_pPhysicalDevice, &vkdata.m_pDevice);
+ dxvk_device->lpVtbl->TransitionSurfaceLayout(dxvk_device, dxvk_surface, &subresources,
+ image_layout, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
+ dxvk_device->lpVtbl->FlushRenderingCommands(dxvk_device);
+ dxvk_device->lpVtbl->LockSubmissionQueue(dxvk_device);
- dxvk_device->lpVtbl->GetSubmissionQueue(dxvk_device, &vkdata.m_pQueue, &vkdata.m_nQueueFamilyIndex);
+ err = cpp_func(linux_side, overlayHandle, &vktexture);
- /* DXVK needs this to be initialized correctly */
- image_info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
- image_info.pNext = NULL;
+ dxvk_device->lpVtbl->ReleaseSubmissionQueue(dxvk_device);
+ dxvk_device->lpVtbl->TransitionSurfaceLayout(dxvk_device, dxvk_surface, &subresources,
+ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, image_layout);
- dxvk_surface->lpVtbl->GetVulkanImageInfo(dxvk_surface, &image_handle, &image_layout, &image_info);
+ dxvk_device->lpVtbl->Release(dxvk_device);
+ dxvk_surface->lpVtbl->Release(dxvk_surface);
+ return err;
+}
- load_vk_unwrappers();
+static EVRCompositorError ivrcompositor_submit_dxvk(
+ EVRCompositorError (*cpp_func)(void *, EVREye, Texture_t *, VRTextureBounds_t *, EVRSubmitFlags),
+ void *linux_side, EVREye eye, Texture_t *texture, VRTextureBounds_t *bounds, EVRSubmitFlags flags,
+ unsigned int version, struct compositor_data *user_data, IDXGIVkInteropSurface *dxvk_surface)
+{
+ struct VRVulkanTextureData_t vkdata;
+ IDXGIVkInteropDevice *dxvk_device;
+ struct Texture_t vktexture;
+
+ VkImageLayout image_layout;
+ VkImageCreateInfo image_info;
+ VkImageSubresourceRange subresources;
+
+ EVRCompositorError err;
+
+ vktexture = vrclient_translate_texture_dxvk(texture, &vkdata, dxvk_surface, &dxvk_device, &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;
- vkdata.m_nSampleCount = image_info.samples;
+ user_data->dxvk_device = dxvk_device;
if (flags & (Submit_TextureWithPose | Submit_TextureWithDepth))
FIXME("Unhandled flags %#x.\n", flags & (Submit_TextureWithPose | Submit_TextureWithDepth));
- vktexture = *texture;
- vktexture.handle = &vkdata;
- vktexture.eType = TextureType_Vulkan;
-
subresources.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
subresources.baseMipLevel = 0;
subresources.levelCount = image_info.mipLevels;
@@ -891,6 +940,65 @@ static EVRCompositorError ivrcompositor_submit_vulkan(
return cpp_func(linux_side, eye, tex, bounds, flags);
}
+EVROverlayError ivroverlay_set_overlay_texture(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, Texture_t *),
+ void *linux_side, VROverlayHandle_t overlayHandle, Texture_t *texture,
+ unsigned int version)
+{
+ IUnknown *texture_iface;
+ HRESULT hr;
+
+ TRACE("%p, overlayHandle = %#x, texture = %p\n", linux_side, overlayHandle, texture);
+
+ switch (texture->eType)
+ {
+ case TextureType_DirectX:
+ TRACE("D3D11\n");
+
+ if (!texture->handle) {
+ WARN("No D3D11 texture %p.\n", texture);
+ return cpp_func(linux_side, overlayHandle, texture);
+ }
+
+ texture_iface = texture->handle;
+
+#ifdef VRCLIENT_HAVE_DXVK
+ {
+ IDXGIVkInteropSurface *dxvk_surface;
+ if (SUCCEEDED(hr = texture_iface->lpVtbl->QueryInterface(texture_iface, &IID_IDXGIVkInteropSurface, (void **)&dxvk_surface))) {
+ return ivroverlay_set_overlay_texture_dxvk(cpp_func, linux_side, overlayHandle, texture, version, dxvk_surface);
+ }
+ }
+#endif
+
+ WARN("Invalid D3D11 texture %p.\n", texture);
+ return cpp_func(linux_side, overlayHandle, texture);
+ default:
+ return cpp_func(linux_side, overlayHandle, texture);
+ }
+}
+
+EVROverlayError ivroverlay_005_set_overlay_texture(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, GraphicsAPIConvention, void *),
+ void *linux_side, VROverlayHandle_t overlayHandle, GraphicsAPIConvention api, void *texture,
+ unsigned int version)
+{
+ /* hopefully no one actually uses this old interface... Vulkan support
+ * wasn't added until later; how can we pass in a DirectX texture? */
+ FIXME("unimplemented!\n");
+ return VROverlayError_InvalidHandle;
+}
+
+EVROverlayError ivroverlay_001_set_overlay_texture(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, void *),
+ void *linux_side, VROverlayHandle_t overlayHandle, void *texture,
+ unsigned int version)
+{
+ /* probably no one actually uses this old interface... */
+ FIXME("unimplemented!\n");
+ return VROverlayError_InvalidHandle;
+}
+
EVRCompositorError ivrcompositor_submit(
EVRCompositorError (*cpp_func)(void *, EVREye, Texture_t *, VRTextureBounds_t *, EVRSubmitFlags),
void *linux_side, EVREye eye, Texture_t *texture, VRTextureBounds_t *bounds, EVRSubmitFlags flags,
diff --git a/vrclient_x64/vrclient_x64/vrclient_private.h b/vrclient_x64/vrclient_x64/vrclient_private.h
index e8d82521..5d2f28c8 100644
--- a/vrclient_x64/vrclient_x64/vrclient_private.h
+++ b/vrclient_x64/vrclient_x64/vrclient_private.h
@@ -128,7 +128,7 @@ VRCompositorError ivrcompositor_008_submit(
unsigned int version, struct compositor_data *user_data);
EVRCompositorError ivrcompositor_submit(
EVRCompositorError (*cpp_func)(void *, EVREye, Texture_t *, VRTextureBounds_t *, EVRSubmitFlags),
- void *linux_side, EVREye eye, Texture_t *texture, VRTextureBounds_t *bounds, EVRSubmitFlags submit_flags,
+ void *linux_side, EVREye eye, Texture_t *texture, VRTextureBounds_t *bounds, EVRSubmitFlags flags,
unsigned int version, struct compositor_data *user_data);
void ivrcompositor_post_present_handoff(void (*cpp_func)(void *),
@@ -155,6 +155,21 @@ void ivrrendermodels_free_texture_d3d11(
void (*cpp_func)(void *, void *),
void *linux_side, void *dst_texture, unsigned int version);
+EVROverlayError ivroverlay_set_overlay_texture(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, Texture_t *),
+ void *linux_side, VROverlayHandle_t overlayHandle, Texture_t *texture,
+ unsigned int version);
+
+EVROverlayError ivroverlay_005_set_overlay_texture(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, GraphicsAPIConvention, void *),
+ void *linux_side, VROverlayHandle_t overlayHandle, GraphicsAPIConvention api, void *texture,
+ unsigned int version);
+
+EVROverlayError ivroverlay_001_set_overlay_texture(
+ EVROverlayError (*cpp_func)(void *, VROverlayHandle_t, void *),
+ void *linux_side, VROverlayHandle_t overlayHandle, void *texture,
+ unsigned int version);
+
#endif /* __cplusplus */
#define TRACE WINE_TRACE
diff --git a/vrclient_x64/vrclient_x64/winIVROverlay.c b/vrclient_x64/vrclient_x64/winIVROverlay.c
index 167f42ac..7c180627 100644
--- a/vrclient_x64/vrclient_x64/winIVROverlay.c
+++ b/vrclient_x64/vrclient_x64/winIVROverlay.c
@@ -421,7 +421,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_024_SetOverlayTexture(winIVROverlay_IVROverlay_024 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_024_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_024_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 24);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_024_ClearOverlayTexture, 12)
@@ -1210,7 +1210,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_022_SetOverlayTexture(winIVROverlay_IVROverlay_022 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_022_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_022_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 22);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_022_ClearOverlayTexture, 12)
@@ -1951,7 +1951,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_021_SetOverlayTexture(winIVROverlay_IVROverlay_021 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_021_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_021_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 21);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_021_ClearOverlayTexture, 12)
@@ -2722,7 +2722,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_020_SetOverlayTexture(winIVROverlay_IVROverlay_020 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_020_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_020_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 20);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_020_ClearOverlayTexture, 12)
@@ -3515,7 +3515,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_019_SetOverlayTexture(winIVROverlay_IVROverlay_019 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_019_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_019_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 19);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_019_ClearOverlayTexture, 12)
@@ -4312,7 +4312,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_018_SetOverlayTexture(winIVROverlay_IVROverlay_018 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_018_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_018_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 18);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_018_ClearOverlayTexture, 12)
@@ -5116,7 +5116,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_017_SetOverlayTexture(winIVROverlay_IVROverlay_017 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_017_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_017_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 17);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_017_ClearOverlayTexture, 12)
@@ -5908,7 +5908,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_016_SetOverlayTexture(winIVROverlay_IVROverlay_016 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_016_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_016_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 16);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_016_ClearOverlayTexture, 12)
@@ -6661,7 +6661,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_014_SetOverlayTexture(winIVROverlay_IVROverlay_014 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_014_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_014_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 14);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_014_ClearOverlayTexture, 12)
@@ -7395,7 +7395,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_013_SetOverlayTexture(winIVROverlay_IVROverlay_013 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_013_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_013_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 13);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_013_ClearOverlayTexture, 12)
@@ -8083,7 +8083,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_012_SetOverlayTexture(winIVROverlay_IVROverlay_012 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_012_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_012_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 12);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_012_ClearOverlayTexture, 12)
@@ -8754,7 +8754,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_011_SetOverlayTexture(winIVROverlay_IVROverlay_011 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_011_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_011_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 11);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_011_ClearOverlayTexture, 12)
@@ -9402,7 +9402,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_010_SetOverlayTexture(winIVROverlay_IVROverlay_010 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_010_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_010_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 10);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_010_ClearOverlayTexture, 12)
@@ -10014,7 +10014,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_008_SetOverlayTexture(winIVROverlay_IVROverlay_008 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_008_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_008_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 8);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_008_ClearOverlayTexture, 12)
@@ -10606,7 +10606,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_SetOverlayTexture, 16)
EVROverlayError __thiscall winIVROverlay_IVROverlay_007_SetOverlayTexture(winIVROverlay_IVROverlay_007 *_this, VROverlayHandle_t ulOverlayHandle, Texture_t * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_007_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_set_overlay_texture(cppIVROverlay_IVROverlay_007_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 7);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_ClearOverlayTexture, 12)
@@ -11150,7 +11150,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_SetOverlayTexture, 20)
VROverlayError __thiscall winIVROverlay_IVROverlay_005_SetOverlayTexture(winIVROverlay_IVROverlay_005 *_this, VROverlayHandle_t ulOverlayHandle, GraphicsAPIConvention eTextureType, void * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_005_SetOverlayTexture(_this->linux_side, ulOverlayHandle, eTextureType, pTexture);
+ return ivroverlay_005_set_overlay_texture(cppIVROverlay_IVROverlay_005_SetOverlayTexture, _this->linux_side, ulOverlayHandle, eTextureType, pTexture, 5);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_005_ClearOverlayTexture, 12)
@@ -11670,7 +11670,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_SetOverlayTexture, 20)
VROverlayError __thiscall winIVROverlay_IVROverlay_004_SetOverlayTexture(winIVROverlay_IVROverlay_004 *_this, VROverlayHandle_t ulOverlayHandle, GraphicsAPIConvention eTextureType, void * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_004_SetOverlayTexture(_this->linux_side, ulOverlayHandle, eTextureType, pTexture);
+ return ivroverlay_005_set_overlay_texture(cppIVROverlay_IVROverlay_004_SetOverlayTexture, _this->linux_side, ulOverlayHandle, eTextureType, pTexture, 4);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_004_ClearOverlayTexture, 12)
@@ -12147,7 +12147,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_SetOverlayTexture, 20)
VROverlayError __thiscall winIVROverlay_IVROverlay_003_SetOverlayTexture(winIVROverlay_IVROverlay_003 *_this, VROverlayHandle_t ulOverlayHandle, GraphicsAPIConvention eTextureType, void * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_003_SetOverlayTexture(_this->linux_side, ulOverlayHandle, eTextureType, pTexture);
+ return ivroverlay_005_set_overlay_texture(cppIVROverlay_IVROverlay_003_SetOverlayTexture, _this->linux_side, ulOverlayHandle, eTextureType, pTexture, 3);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_003_ClearOverlayTexture, 12)
@@ -12599,7 +12599,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_SetOverlayTexture, 20)
VROverlayError __thiscall winIVROverlay_IVROverlay_002_SetOverlayTexture(winIVROverlay_IVROverlay_002 *_this, VROverlayHandle_t ulOverlayHandle, GraphicsAPIConvention eTextureType, void * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_002_SetOverlayTexture(_this->linux_side, ulOverlayHandle, eTextureType, pTexture);
+ return ivroverlay_005_set_overlay_texture(cppIVROverlay_IVROverlay_002_SetOverlayTexture, _this->linux_side, ulOverlayHandle, eTextureType, pTexture, 2);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_002_ClearOverlayTexture, 12)
@@ -13036,7 +13036,7 @@ DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayTexture, 16)
VROverlayError __thiscall winIVROverlay_IVROverlay_001_SetOverlayTexture(winIVROverlay_IVROverlay_001 *_this, VROverlayHandle_t ulOverlayHandle, void * pTexture)
{
TRACE("%p\n", _this);
- return cppIVROverlay_IVROverlay_001_SetOverlayTexture(_this->linux_side, ulOverlayHandle, pTexture);
+ return ivroverlay_001_set_overlay_texture(cppIVROverlay_IVROverlay_001_SetOverlayTexture, _this->linux_side, ulOverlayHandle, pTexture, 1);
}
DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_001_SetOverlayRaw, 28)