Commit 094f6bc9 authored by Lionel Ulmer's avatar Lionel Ulmer Committed by Alexandre Julliard

Refactoring of the texture upload code.

parent 934d97b5
......@@ -70,6 +70,9 @@ typedef struct IDirect3DTextureGLImpl
/* Surface optimization */
void *surface_ptr;
/* Used to detect a change in internal format when going from non-CK texture to CK-ed texture */
GLenum current_internal_format;
/* This is for now used to override 'standard' surface stuff to be as transparent as possible */
void (*final_release)(struct IDirectDrawSurfaceImpl *This);
......@@ -143,6 +146,12 @@ extern void store_render_state(IDirect3DDeviceImpl *This, D3DRENDERSTATETYPE dwR
extern void get_render_state(IDirect3DDeviceImpl *This, D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState, STATEBLOCK* lpStateBlock);
extern void apply_render_state(IDirect3DDeviceImpl* This, STATEBLOCK* lpStateBlock);
/* Memory to texture conversion code. Split in three functions to do some optimizations. */
extern HRESULT upload_surface_to_tex_memory_init(IDirectDrawSurfaceImpl *surface, GLuint level, GLenum *prev_internal_format,
BOOLEAN need_to_alloc, BOOLEAN need_alpha_ck);
extern HRESULT upload_surface_to_tex_memory(RECT *rect, void **temp_buffer);
extern HRESULT upload_surface_to_tex_memory_release(void);
/* This structure contains all the function pointers to OpenGL extensions
that are used by Wine */
typedef struct {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment