vrclient: Enable explicit timing for wined3d D3D11

This makes IVRCompositor::WaitGetPoses() graphics-agnostic, and allows
us to call IVRCompositor::Submit() from the wined3d command stream.
This commit is contained in:
Józef Kucia 2018-04-04 17:20:44 +02:00 committed by Andrew Eikum
parent 7b06a5685a
commit 69e7d14b65
6 changed files with 93 additions and 62 deletions

View file

@ -44,34 +44,36 @@ struct compositor_data
IWineD3D11Device *wined3d_device;
};
void get_dxgi_output_info(void *cpp_func, void *linux_side, int32_t *adapter_idx);
void get_dxgi_output_info2(void *cpp_func, void *linux_side, int32_t *adapter_idx, int32_t *output_idx);
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 ivrcompositor_005_submit(
void (*cpp_func)(void *, Hmd_Eye, void *, Compositor_TextureBounds *),
void *linux_side, Hmd_Eye eye, void *texture, Compositor_TextureBounds *bounds,
struct compositor_data *user_data);
unsigned int version, struct compositor_data *user_data);
VRCompositorError ivrcompositor_006_submit(
VRCompositorError (*cpp_func)(void *, Hmd_Eye, void *, VRTextureBounds_t *),
void *linux_side, Hmd_Eye eye, void *texture, VRTextureBounds_t *bounds,
struct compositor_data *user_data);
unsigned int version, struct compositor_data *user_data);
VRCompositorError ivrcompositor_007_submit(
VRCompositorError (*cpp_func)(void *, Hmd_Eye, GraphicsAPIConvention, void *, VRTextureBounds_t *),
void *linux_side, Hmd_Eye eye, GraphicsAPIConvention api, void *texture, VRTextureBounds_t *bounds,
struct compositor_data *user_data);
unsigned int version, struct compositor_data *user_data);
VRCompositorError ivrcompositor_008_submit(
VRCompositorError (*cpp_func)(void *, Hmd_Eye, GraphicsAPIConvention, void *,
VRTextureBounds_t *, VRSubmitFlags_t),
void *linux_side, Hmd_Eye eye, GraphicsAPIConvention texture_type, void *texture,
VRTextureBounds_t *bounds, VRSubmitFlags_t submit_flags,
struct compositor_data *user_data);
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,
struct compositor_data *user_data);
unsigned int version, struct compositor_data *user_data);
void ivrcompositor_post_present_handoff(void (*cpp_func)(void *),
void *linux_side, struct compositor_data *user_data);
void *linux_side, unsigned int version, struct compositor_data *user_data);
#endif /* __cplusplus */
#define TRACE WINE_TRACE