@@ -62,7 +62,7 @@ LOGGER = logging.Logger("openxr")
62
62
LOGGER .addHandler (logging .StreamHandler ())
63
63
64
64
XR_XML_VERSION = "1.0.11"
65
- WINE_XR_VERSION = (1 , 0 )
65
+ WINE_XR_VERSION = (1 , 1 )
66
66
67
67
# Filenames to create.
68
68
WINE_OPENXR_H = "./wineopenxr.h"
@@ -145,6 +145,9 @@ DRIVER_VERSION = 1
145
145
FUNCTION_OVERRIDES = {
146
146
# Global functions
147
147
"xrCreateInstance" : {"dispatch" : False , "driver" : True , "thunk" : False },
148
+ "xrCreateApiLayerInstance" : {"dispatch" : False , "driver" : True , "thunk" : False },
149
+ "xrNegotiateLoaderRuntimeInterface" : {"dispatch" : False , "driver" : True , "thunk" : False },
150
+ "xrNegotiateLoaderApiLayerInterface" : {"dispatch" : False , "driver" : False , "thunk" : False },
148
151
"xrDestroyInstance" : {"dispatch" : False , "driver" : True , "thunk" : False },
149
152
150
153
"xrCreateSession" : {"dispatch" : True , "driver" : True , "thunk" : False },
@@ -174,6 +177,12 @@ FUNCTION_OVERRIDES = {
174
177
"xrEndFrame" : {"dispatch" : True , "driver" : True , "thunk" : False },
175
178
}
176
179
180
+ NOT_OUR_FUNCTIONS = [
181
+ # xr.xml defines that as a part of XR_LOADER_VERSION_1_0 commands but it looks like only layers should provide it
182
+ # (through dll export).
183
+ "xrNegotiateLoaderApiLayerInterface" ,
184
+ ]
185
+
177
186
STRUCT_CHAIN_CONVERSIONS = [
178
187
"XrInstanceCreateInfo" ,
179
188
]
@@ -1352,7 +1361,7 @@ class XrParam(object):
1352
1361
self .format_conv = "wine_dbgstr_longlong({0})"
1353
1362
elif self .type == "HANDLE" :
1354
1363
self .format_str = "%p"
1355
- elif self .type in ["XrSystemId" , "XrPath" , "XrTime" , "XrDuration" , "XrControllerModelKeyMSFT" ]:
1364
+ elif self .type in ["XrSystemId" , "XrPath" , "XrTime" , "XrDuration" , "XrControllerModelKeyMSFT" , "XrMarkerML" ]:
1356
1365
self .format_str = "0x%s"
1357
1366
self .format_conv = "wine_dbgstr_longlong({0})"
1358
1367
elif self .type in ["XrVector2f" ]:
@@ -2538,7 +2547,8 @@ class XrRegistry(object):
2538
2547
# calls out in the 3 types of functions: device, global and instance.
2539
2548
instance_funcs = []
2540
2549
for func in funcs .values ():
2541
- instance_funcs .append (func )
2550
+ if not func .name in NOT_OUR_FUNCTIONS :
2551
+ instance_funcs .append (func )
2542
2552
2543
2553
# Sort function lists by name and store them.
2544
2554
self .instance_funcs = sorted (instance_funcs , key = lambda func : func .name )
0 commit comments