vrclient: Use manual methods for IVRSystem overrides.

CW-Bug-Id: #22729
This commit is contained in:
Rémi Bernon 2023-09-27 08:32:39 +02:00 committed by Arkadiusz Hiler
parent 6b50dd5920
commit 17644c7bbf
5 changed files with 240 additions and 184 deletions

View File

@ -254,6 +254,23 @@ all_sources = {}
all_versions = {}
MANUAL_METHODS = {
"IVRSystem_GetDXGIOutputInfo": True,
"IVRSystem_GetOutputDevice": lambda ver, abi: ver > 16,
}
def is_manual_method(klass, method, abi):
version = re.search(r'(\d+)$', klass.version)
key = f'{klass.spelling}_{method.name}'
needs_manual = MANUAL_METHODS.get(key, False)
if callable(needs_manual) and version:
return needs_manual(int(version[0]), abi)
return needs_manual
def ivrclientcore_is_hmd_present(cppname, method):
return "ivrclientcore_is_hmd_present"
@ -268,20 +285,6 @@ def ivrclientcore_get_generic_interface(cppname, method):
def ivrclientcore_cleanup(cppname, method):
return "ivrclientcore_cleanup"
def ivrsystem_get_dxgi_output_info(cppname, method):
arguments = list(method.get_arguments())
param_count = len(arguments)
return {
1: "get_dxgi_output_info",
2: "get_dxgi_output_info2"
}.get(param_count, "unhandled_get_dxgi_output_info_method")
def ivrsystem_get_output_device(cppname, method):
#introduced in 016, changed in 017
if "016" in cppname:
return "ivrsystem_016_get_output_device"
return "ivrsystem_get_output_device"
def ivrcompositor_submit(cppname, method):
if "005" in cppname:
return "ivrcompositor_005_submit"
@ -363,8 +366,6 @@ method_overrides = [
("IVRClientCore", "Init", ivrclientcore_init),
("IVRClientCore", "GetGenericInterface", ivrclientcore_get_generic_interface),
("IVRClientCore", "Cleanup", ivrclientcore_cleanup),
("IVRSystem", "GetDXGIOutputInfo", ivrsystem_get_dxgi_output_info),
("IVRSystem", "GetOutputDevice", ivrsystem_get_output_device),
("IVRCompositor", "Submit", ivrcompositor_submit),
("IVRCompositor", "SetSkyboxOverride", ivrcompositor_set_skybox_override),
("IVRCompositor", "PostPresentHandoff", ivrcompositor_post_present_handoff),
@ -664,7 +665,7 @@ def handle_thiscall_wrapper(klass, method, out):
out(f'DEFINE_THISCALL_WRAPPER({name}, {size})\n')
def handle_method_c(method, classname, winclassname, cppname, iface_version, out):
def handle_method_c(klass, method, winclassname, cppname, out):
returns_void = method.result_type.kind == TypeKind.VOID
returns_record = method.result_type.get_canonical().kind == TypeKind.RECORD
@ -682,6 +683,10 @@ def handle_method_c(method, classname, winclassname, cppname, iface_version, out
params = ['struct w_steam_iface *_this'] + params
names = ['_this'] + names
if is_manual_method(klass, method, 'w'):
out(f'extern {ret}__thiscall {winclassname}_{method.name}({", ".join(params)});\n\n')
return
out(f'{ret}__thiscall {winclassname}_{method.name}({", ".join(params)})\n')
out(u'{\n')
@ -715,7 +720,7 @@ def handle_method_c(method, classname, winclassname, cppname, iface_version, out
is_method_overridden = False
for classname_pattern, methodname, override_generator in method_overrides:
if method.name == methodname and classname_pattern in classname:
if method.name == methodname and classname_pattern in klass.spelling:
fn_name = override_generator(cppname, method)
if fn_name:
out("%s(%s_%s, " % (fn_name, cppname, method.name))
@ -733,9 +738,9 @@ def handle_method_c(method, classname, winclassname, cppname, iface_version, out
out(", ".join([param_call(p, n) for p, n in zip(params, names)]))
if is_method_overridden:
out(f', {iface_version[iface_version.find("_") + 1:].lstrip("0")}')
out(f', {klass.version[klass.version.find("_") + 1:].lstrip("0")}')
for classname_pattern, user_data_type, _ in method_overrides_data:
if classname_pattern in classname:
if classname_pattern in klass.spelling:
out(u', &_this->user_data')
break
out(u');\n')
@ -831,8 +836,7 @@ def handle_class(klass):
for method in klass.methods:
if type(method) is Destructor:
continue
else:
handle_method_c(method, klass.spelling, winclassname, cppname, klass.version, out)
handle_method_c(klass, method, winclassname, cppname, out)
out(f'extern vtable_ptr {winclassname}_vtable;\n\n')
out(u'#ifndef __GNUC__\n')

View File

@ -679,29 +679,6 @@ void ivrclientcore_cleanup(void (*cpp_func)(void *), void *linux_side,
destroy_compositor_data();
}
void get_dxgi_output_info(void *cpp_func, void *linux_side,
int32_t *adapter_idx, unsigned int version)
{
TRACE("%p\n", adapter_idx);
*adapter_idx = 0;
}
void get_dxgi_output_info2(void *cpp_func, void *linux_side,
int32_t *adapter_idx, int32_t *output_idx, unsigned int version)
{
TRACE("%p, %p\n", adapter_idx, output_idx);
*adapter_idx = 0;
*output_idx = 0;
}
void ivrsystem_016_get_output_device(
void (*cpp_func)(void *, uint64_t *, ETextureType),
void *linux_side, uint64_t *out_device, ETextureType type,
unsigned int version)
{
cpp_func(linux_side, out_device, type);
}
struct submit_data
{
void *linux_side;

View File

@ -99,19 +99,6 @@ void *ivrclientcore_get_generic_interface(void *(*cpp_func)(void *, const char *
void ivrclientcore_cleanup(void (*cpp_func)(void *), void *linux_side,
unsigned int version, struct client_core_data *user_data);
void get_dxgi_output_info(void *cpp_func, void *linux_side,
int32_t *adapter_idx, unsigned int version);
void get_dxgi_output_info2(void *cpp_func, void *linux_side,
int32_t *adapter_idx, int32_t *output_idx, unsigned int version);
void ivrsystem_016_get_output_device(
void (*cpp_func)(void *, uint64_t *, ETextureType),
void *linux_side, uint64_t *out_device, ETextureType type,
unsigned int version);
void ivrsystem_get_output_device(
void (*cpp_func)(void *, uint64_t *, ETextureType, VkInstance_T *),
void *linux_side, uint64_t *out_device, ETextureType type,
VkInstance_T *wrapped_instance, unsigned int version);
void ivrcompositor_005_submit(
void (*cpp_func)(void *, Hmd_Eye, void *, Compositor_TextureBounds *),
void *linux_side, Hmd_Eye eye, const void *texture, Compositor_TextureBounds *bounds,

View File

@ -6,32 +6,204 @@
#include "winbase.h"
#include "wine/debug.h"
#include "dxvk-interop.h"
#include "vrclient_defs.h"
#include "vrclient_private.h"
#include "flatapi.h"
#include "struct_converters.h"
#include "cppIVRSystem_IVRSystem_003.h"
#include "cppIVRSystem_IVRSystem_004.h"
#include "cppIVRSystem_IVRSystem_005.h"
#include "cppIVRSystem_IVRSystem_006.h"
#include "cppIVRSystem_IVRSystem_009.h"
#include "cppIVRSystem_IVRSystem_010.h"
#include "cppIVRSystem_IVRSystem_011.h"
#include "cppIVRSystem_IVRSystem_012.h"
#include "cppIVRSystem_IVRSystem_014.h"
#include "cppIVRSystem_IVRSystem_015.h"
#include "cppIVRSystem_IVRSystem_016.h"
#include "cppIVRSystem_IVRSystem_017.h"
#include "cppIVRSystem_IVRSystem_019.h"
#include "cppIVRSystem_IVRSystem_020.h"
#include "cppIVRSystem_IVRSystem_021.h"
#include "cppIVRSystem_IVRSystem_022.h"
void ivrsystem_get_output_device( void (*cpp_func)( void *, uint64_t *, ETextureType, VkInstance_T * ),
void *linux_side, uint64_t *out_device, ETextureType type,
VkInstance_T *wrapped_instance, unsigned int version )
WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
static VkInstance_T *unwrap_instance( ETextureType type, VkInstance_T *instance )
{
switch (type)
{
case TextureType_Vulkan:
{
VkInstance_T *native_instance;
native_instance = get_native_VkInstance( wrapped_instance );
cpp_func( linux_side, out_device, type, native_instance );
*out_device = (uint64_t)(intptr_t)
get_wrapped_VkPhysicalDevice( wrapped_instance, (VkPhysicalDevice_T *)(intptr_t)*out_device );
return;
}
default: cpp_func( linux_side, out_device, type, wrapped_instance ); return;
}
if (type == TextureType_Vulkan) return get_native_VkInstance( instance );
return instance;
}
static uint64_t wrap_device( ETextureType type, VkInstance_T *instance, uint64_t device )
{
if (type == TextureType_Vulkan)
{
VkPhysicalDevice_T *phys_device = (VkPhysicalDevice_T *)( intptr_t)device;
return (uint64_t)( intptr_t)get_wrapped_VkPhysicalDevice( instance, phys_device );
}
return device;
}
void __thiscall winIVRSystem_IVRSystem_003_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex,
int32_t *pnAdapterOutputIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
*pnAdapterOutputIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_004_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex,
int32_t *pnAdapterOutputIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
*pnAdapterOutputIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_005_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex,
int32_t *pnAdapterOutputIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
*pnAdapterOutputIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_006_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex,
int32_t *pnAdapterOutputIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
*pnAdapterOutputIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_009_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_010_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_011_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_012_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_014_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_015_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_016_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_017_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_017_GetOutputDevice( struct w_steam_iface *_this, uint64_t *pnDevice,
ETextureType textureType, VkInstance_T *pInstance )
{
VkInstance_T *native_instance = unwrap_instance( textureType, pInstance );
TRACE( "%p\n", _this );
cppIVRSystem_IVRSystem_017_GetOutputDevice( _this->u_iface, pnDevice, textureType, native_instance );
*pnDevice = wrap_device( textureType, pInstance, *pnDevice );
}
void __thiscall winIVRSystem_IVRSystem_019_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_019_GetOutputDevice( struct w_steam_iface *_this, uint64_t *pnDevice,
ETextureType textureType, VkInstance_T *pInstance )
{
VkInstance_T *native_instance = unwrap_instance( textureType, pInstance );
TRACE( "%p\n", _this );
cppIVRSystem_IVRSystem_019_GetOutputDevice( _this->u_iface, pnDevice, textureType, native_instance );
*pnDevice = wrap_device( textureType, pInstance, *pnDevice );
}
void __thiscall winIVRSystem_IVRSystem_020_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_020_GetOutputDevice( struct w_steam_iface *_this, uint64_t *pnDevice,
ETextureType textureType, VkInstance_T *pInstance )
{
VkInstance_T *native_instance = unwrap_instance( textureType, pInstance );
TRACE( "%p\n", _this );
cppIVRSystem_IVRSystem_020_GetOutputDevice( _this->u_iface, pnDevice, textureType, native_instance );
*pnDevice = wrap_device( textureType, pInstance, *pnDevice );
}
void __thiscall winIVRSystem_IVRSystem_021_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_021_GetOutputDevice( struct w_steam_iface *_this, uint64_t *pnDevice,
ETextureType textureType, VkInstance_T *pInstance )
{
VkInstance_T *native_instance = unwrap_instance( textureType, pInstance );
TRACE( "%p\n", _this );
cppIVRSystem_IVRSystem_021_GetOutputDevice( _this->u_iface, pnDevice, textureType, native_instance );
*pnDevice = wrap_device( textureType, pInstance, *pnDevice );
}
void __thiscall winIVRSystem_IVRSystem_022_GetDXGIOutputInfo( struct w_steam_iface *_this, int32_t *pnAdapterIndex )
{
FIXME( "%p\n", _this );
*pnAdapterIndex = 0;
}
void __thiscall winIVRSystem_IVRSystem_022_GetOutputDevice( struct w_steam_iface *_this, uint64_t *pnDevice,
ETextureType textureType, VkInstance_T *pInstance )
{
VkInstance_T *native_instance = unwrap_instance( textureType, pInstance );
TRACE( "%p\n", _this );
cppIVRSystem_IVRSystem_022_GetOutputDevice( _this->u_iface, pnDevice, textureType, native_instance );
*pnDevice = wrap_device( textureType, pInstance, *pnDevice );
}

View File

@ -118,11 +118,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_003_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_003_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info2(cppIVRSystem_IVRSystem_003_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, pnAdapterOutputIndex, 3);
}
extern void __thiscall winIVRSystem_IVRSystem_003_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex);
bool __thiscall winIVRSystem_IVRSystem_003_AttachToWindow(struct w_steam_iface *_this, void *hWnd)
{
@ -560,11 +556,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_004_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_004_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info2(cppIVRSystem_IVRSystem_004_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, pnAdapterOutputIndex, 4);
}
extern void __thiscall winIVRSystem_IVRSystem_004_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex);
bool __thiscall winIVRSystem_IVRSystem_004_AttachToWindow(struct w_steam_iface *_this, void *hWnd)
{
@ -985,11 +977,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_005_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_005_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info2(cppIVRSystem_IVRSystem_005_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, pnAdapterOutputIndex, 5);
}
extern void __thiscall winIVRSystem_IVRSystem_005_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex);
bool __thiscall winIVRSystem_IVRSystem_005_AttachToWindow(struct w_steam_iface *_this, void *hWnd)
{
@ -1425,11 +1413,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_006_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_006_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info2(cppIVRSystem_IVRSystem_006_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, pnAdapterOutputIndex, 6);
}
extern void __thiscall winIVRSystem_IVRSystem_006_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex);
bool __thiscall winIVRSystem_IVRSystem_006_AttachToWindow(struct w_steam_iface *_this, void *hWnd)
{
@ -1902,11 +1886,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_009_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_009_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_009_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 9);
}
extern void __thiscall winIVRSystem_IVRSystem_009_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
bool __thiscall winIVRSystem_IVRSystem_009_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -2393,11 +2373,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_010_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_010_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_010_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 10);
}
extern void __thiscall winIVRSystem_IVRSystem_010_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
bool __thiscall winIVRSystem_IVRSystem_010_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -2920,11 +2896,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_011_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_011_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_011_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 11);
}
extern void __thiscall winIVRSystem_IVRSystem_011_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
bool __thiscall winIVRSystem_IVRSystem_011_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -3445,11 +3417,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_012_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_012_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_012_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 12);
}
extern void __thiscall winIVRSystem_IVRSystem_012_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
bool __thiscall winIVRSystem_IVRSystem_012_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -3955,11 +3923,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_014_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_014_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_014_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 14);
}
extern void __thiscall winIVRSystem_IVRSystem_014_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
bool __thiscall winIVRSystem_IVRSystem_014_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -4465,11 +4429,7 @@ int32_t __thiscall winIVRSystem_IVRSystem_015_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_015_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_015_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 15);
}
extern void __thiscall winIVRSystem_IVRSystem_015_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
bool __thiscall winIVRSystem_IVRSystem_015_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -4976,16 +4936,12 @@ int32_t __thiscall winIVRSystem_IVRSystem_016_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_016_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_016_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 16);
}
extern void __thiscall winIVRSystem_IVRSystem_016_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
void __thiscall winIVRSystem_IVRSystem_016_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType)
{
TRACE("%p\n", _this);
ivrsystem_016_get_output_device(cppIVRSystem_IVRSystem_016_GetOutputDevice, _this->u_iface, pnDevice, textureType, 16);
cppIVRSystem_IVRSystem_016_GetOutputDevice(_this->u_iface, pnDevice, textureType);
}
bool __thiscall winIVRSystem_IVRSystem_016_IsDisplayOnDesktop(struct w_steam_iface *_this)
@ -5495,17 +5451,9 @@ int32_t __thiscall winIVRSystem_IVRSystem_017_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_017_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_017_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 17);
}
extern void __thiscall winIVRSystem_IVRSystem_017_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
void __thiscall winIVRSystem_IVRSystem_017_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance)
{
TRACE("%p\n", _this);
ivrsystem_get_output_device(cppIVRSystem_IVRSystem_017_GetOutputDevice, _this->u_iface, pnDevice, textureType, pInstance, 17);
}
extern void __thiscall winIVRSystem_IVRSystem_017_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance);
bool __thiscall winIVRSystem_IVRSystem_017_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -6016,17 +5964,9 @@ int32_t __thiscall winIVRSystem_IVRSystem_019_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_019_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_019_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 19);
}
extern void __thiscall winIVRSystem_IVRSystem_019_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
void __thiscall winIVRSystem_IVRSystem_019_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance)
{
TRACE("%p\n", _this);
ivrsystem_get_output_device(cppIVRSystem_IVRSystem_019_GetOutputDevice, _this->u_iface, pnDevice, textureType, pInstance, 19);
}
extern void __thiscall winIVRSystem_IVRSystem_019_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance);
bool __thiscall winIVRSystem_IVRSystem_019_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -6560,17 +6500,9 @@ int32_t __thiscall winIVRSystem_IVRSystem_020_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_020_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_020_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 20);
}
extern void __thiscall winIVRSystem_IVRSystem_020_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
void __thiscall winIVRSystem_IVRSystem_020_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance)
{
TRACE("%p\n", _this);
ivrsystem_get_output_device(cppIVRSystem_IVRSystem_020_GetOutputDevice, _this->u_iface, pnDevice, textureType, pInstance, 20);
}
extern void __thiscall winIVRSystem_IVRSystem_020_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance);
bool __thiscall winIVRSystem_IVRSystem_020_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -7113,17 +7045,9 @@ int32_t __thiscall winIVRSystem_IVRSystem_021_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_021_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_021_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 21);
}
extern void __thiscall winIVRSystem_IVRSystem_021_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
void __thiscall winIVRSystem_IVRSystem_021_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance)
{
TRACE("%p\n", _this);
ivrsystem_get_output_device(cppIVRSystem_IVRSystem_021_GetOutputDevice, _this->u_iface, pnDevice, textureType, pInstance, 21);
}
extern void __thiscall winIVRSystem_IVRSystem_021_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance);
bool __thiscall winIVRSystem_IVRSystem_021_IsDisplayOnDesktop(struct w_steam_iface *_this)
{
@ -7657,17 +7581,9 @@ int32_t __thiscall winIVRSystem_IVRSystem_022_GetD3D9AdapterIndex(struct w_steam
return _ret;
}
void __thiscall winIVRSystem_IVRSystem_022_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex)
{
TRACE("%p\n", _this);
get_dxgi_output_info(cppIVRSystem_IVRSystem_022_GetDXGIOutputInfo, _this->u_iface, pnAdapterIndex, 22);
}
extern void __thiscall winIVRSystem_IVRSystem_022_GetDXGIOutputInfo(struct w_steam_iface *_this, int32_t *pnAdapterIndex);
void __thiscall winIVRSystem_IVRSystem_022_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance)
{
TRACE("%p\n", _this);
ivrsystem_get_output_device(cppIVRSystem_IVRSystem_022_GetOutputDevice, _this->u_iface, pnDevice, textureType, pInstance, 22);
}
extern void __thiscall winIVRSystem_IVRSystem_022_GetOutputDevice(struct w_steam_iface *_this, uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance);
bool __thiscall winIVRSystem_IVRSystem_022_IsDisplayOnDesktop(struct w_steam_iface *_this)
{