On 24 February 2014 15:37, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
> @@ -1976,6 +1976,19 @@ static inline void context_invalidate_active_texture(struct wined3d_context *con
> context_invalidate_state(context, STATE_SAMPLER(sampler));
> }
>
> +struct wined3d_privstore
> +{
> + struct list content;
> +};
> +
> +struct wined3d_privstore *wined3d_privstore_create(void) DECLSPEC_HIDDEN;
> +void wined3d_privstore_destroy(struct wined3d_privstore *store) DECLSPEC_HIDDEN;
> +HRESULT wined3d_privstore_free_private_data(struct wined3d_privstore *store, const GUID *guid);
> +HRESULT wined3d_privstore_get_private_data(const struct wined3d_privstore *store,
> + const GUID *guid, void *data, DWORD *data_size, BOOL addref) DECLSPEC_HIDDEN;
> +HRESULT wined3d_privstore_set_private_data(struct wined3d_privstore *store,
> + const GUID *guid, const void *data, DWORD data_size, DWORD flags) DECLSPEC_HIDDEN;
> +
> #define WINED3D_RESOURCE_ACCESS_GPU 0x1
> #define WINED3D_RESOURCE_ACCESS_CPU 0x2
>
I'm not entirely convinced this is how we want this to work. Calling
HeapAlloc() for a struct list seems less than ideal, and I'd like the
WINED3DSPD_IUNKNOWN handling to be done by the callers.