24#ifndef __WINE_WINED3D_GL_H
25#define __WINE_WINED3D_GL_H
27#define WINE_GLAPI __stdcall
38#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
322#define WINED3D_QUIRK_ARB_VS_OFFSET_LIMIT 0x00000001
323#define WINED3D_QUIRK_GLSL_CLIP_VARYING 0x00000004
324#define WINED3D_QUIRK_ALLOWS_SPECULAR_ALPHA 0x00000008
325#define WINED3D_QUIRK_NV_CLIP_BROKEN 0x00000010
326#define WINED3D_QUIRK_FBO_TEX_UPDATE 0x00000020
327#define WINED3D_QUIRK_BROKEN_RGBA16 0x00000040
328#define WINED3D_QUIRK_INFO_LOG_SPAM 0x00000080
329#define WINED3D_QUIRK_LIMITED_TEX_FILTERING 0x00000100
330#define WINED3D_QUIRK_BROKEN_ARB_FOG 0x00000200
331#define WINED3D_QUIRK_NO_INDEPENDENT_BIT_DEPTHS 0x00000400
360#define GL_EXTCALL(f) (gl_info->gl_ops.ext.p_##f)
401#ifndef WINE_NO_DEBUG_MSGS
402#define checkGLcall(A) \
405 if (__WINE_IS_DEBUG_ON(_ERR, &__wine_dbch_d3d) \
406 && !gl_info->supported[ARB_DEBUG_OUTPUT]) \
407 wined3d_check_gl_call(gl_info, __FILE__, __LINE__, A); \
410#define checkGLcall(A) do {} while(0)
573#define MAX_GL_FRAGMENT_SAMPLERS 32
582#define WINED3D_FBO_ENTRY_FLAG_ATTACHED 0x1
583#define WINED3D_FBO_ENTRY_FLAG_DEPTH 0x2
584#define WINED3D_FBO_ENTRY_FLAG_STENCIL 0x4
682 GLfloat colour[4], fog_start, fog_end, fog_colour[4];
741 unsigned int sub_resource_idx,
const RECT *src_rect,
const RECT *dst_rect,
766 unsigned int range_count,
const struct wined3d_range *ranges);
922 if (
buffer->buffer_object)
961 return srgb ? &texture_gl->
texture_srgb : &texture_gl->texture_rgb;
965 unsigned int sub_resource_idx)
967 static const GLenum cube_targets[] =
978 return cube_targets[sub_resource_idx / texture_gl->
t.level_count];
979 return texture_gl->
target;
987 return texture_gl->texture_rgb.name;
COMPILER_DEPENDENT_UINT64 UINT64
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource)
static const WCHAR *const ext[]
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei width
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
GLboolean GLboolean GLboolean b
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY
#define GL_TEXTURE_2D_MULTISAMPLE
GLboolean GLboolean GLboolean GLboolean a
GLsizeiptr const GLvoid GLenum usage
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
static const CLSID * objects[]
D3D11_SHADER_VARIABLE_DESC desc
static RPC_BINDING_HANDLE binding
static HGLRC(WINAPI *pwglCreateContextAttribsARB)(HDC hDC
png_const_structrp png_const_inforp int * unit
static unsigned __int64 next
struct wined3d_sampler_desc sampler_desc
struct wined3d_pixel_format * pixel_formats
unsigned int pixel_format_count
struct wined3d_gl_info gl_info
struct wined3d_allocator_chunk c
struct wined3d_allocator_block * memory
uint64_t command_fence_id
const struct wined3d_gpu_description * gpu_description
const struct wined3d_gl_info * gl_info
struct wined3d_fence * fence
SIZE_T free_so_statistics_query_size
union wined3d_gl_pipeline_statistics_query * free_pipeline_statistics_queries
unsigned int free_so_statistics_query_count
union wined3d_gl_fence_object * free_fences
SIZE_T free_occlusion_query_size
struct list occlusion_queries
struct fbo_entry * current_fbo
unsigned int free_occlusion_query_count
unsigned int active_texture
SIZE_T free_timestamp_query_size
GLuint * free_occlusion_queries
unsigned int free_fence_count
GLuint * free_timestamp_queries
unsigned int fbo_entry_count
uint32_t draw_buffers_mask
struct list pipeline_statistics_queries
unsigned int free_timestamp_query_count
unsigned int free_pipeline_statistics_query_count
struct list so_statistics_queries
struct list fbo_destroy_list
uint32_t internal_format_set
struct wined3d_command_fence_gl * fences
const struct wined3d_gl_info * gl_info
uint32_t default_attrib_value_set
union wined3d_gl_so_statistics_query * free_so_statistics_queries
SIZE_T free_pipeline_statistics_query_size
struct list timestamp_queries
struct wined3d_allocator_block * block
uint64_t completed_fence_id
CRITICAL_SECTION allocator_cs
SIZE_T retired_block_count
uint64_t current_fence_id
struct wined3d_dummy_textures dummy_textures
SIZE_T retired_blocks_size
struct wined3d_allocator allocator
struct wined3d_fence fence
struct wined3d_query query
GLboolean(WINE_GLAPI *glIsFramebuffer)(GLuint framebuffer)
GLint GLint GLint GLint dstX0
const GLuint * framebuffers
GLint GLint GLint GLint GLint GLint GLint dstY1
GLenum GLuint GLint level
void(WINE_GLAPI *glFramebufferTextureLayer)(GLenum target
void(WINE_GLAPI *glGetFramebufferAttachmentParameteriv)(GLenum target
GLenum(WINE_GLAPI *glCheckFramebufferStatus)(GLenum target)
void(WINE_GLAPI *glFramebufferTexture3D)(GLenum target
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLenum GLuint GLint GLint layer
GLenum GLenum renderbuffertarget
GLenum GLenum GLuint GLint level
void(WINE_GLAPI *glFramebufferRenderbuffer)(GLenum target
void(WINE_GLAPI *glFramebufferTexture1D)(GLenum target
GLenum GLenum GLuint renderbuffer
GLenum GLsizei GLsizei height
void(WINE_GLAPI *glGenerateMipmap)(GLenum target)
void(WINE_GLAPI *glFramebufferTexture2D)(GLenum target
GLsizei GLenum GLsizei GLsizei height
GLint GLint GLint GLint GLint GLint dstX1
GLint GLint GLint GLint GLint dstY0
GLenum GLenum GLint * params
const GLuint * renderbuffers
GLboolean(WINE_GLAPI *glIsRenderbuffer)(GLuint renderbuffer)
GLenum GLenum GLuint GLint GLint layer
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
union wined3d_gl_fence_object object
struct wined3d_context_gl * context_gl
unsigned int reserved_arb_constants
HGLRC const GLint * attribs
BOOL supported[WINED3D_GL_EXT_COUNT]
struct opengl_funcs gl_ops
void(WINE_GLAPI *p_glDisableWINE)(GLenum cap)
struct wined3d_ffp_attrib_ops ffp_attrib_ops
struct wined3d_gl_limits limits
unsigned int selected_gl_version
void(WINE_GLAPI *p_glEnableWINE)(GLenum cap)
struct wined3d_fbo_ops fbo_ops
unsigned int glsl_version
float filling_convention_offset
unsigned int texture_size
unsigned int general_combiners
unsigned int arb_ps_float_constants
unsigned int arb_vs_native_constants
unsigned int texture_coords
unsigned int texture3d_size
unsigned int arb_vs_temps
unsigned int arb_vs_float_constants
unsigned int ffp_textures
unsigned int framebuffer_height
unsigned int graphics_samplers
unsigned int arb_vs_instructions
unsigned int arb_ps_native_constants
unsigned int arb_ps_temps
unsigned int vertex_attribs
unsigned int arb_ps_local_constants
unsigned int combined_samplers
unsigned int framebuffer_width
unsigned int glsl_vs_float_constants
unsigned int texture_buffer_offset_alignment
unsigned int uniform_blocks[WINED3D_SHADER_TYPE_COUNT]
unsigned int arb_ps_instructions
unsigned int glsl_varyings
unsigned int glsl_ps_float_constants
unsigned int viewport_subpixel_bits
unsigned int user_clip_distances
struct wined3d_query query
struct wined3d_context_gl * context_gl
struct wined3d_query_data_pipeline_statistics statistics
union wined3d_gl_pipeline_statistics_query u
struct wined3d_query query
struct wined3d_context_gl * context_gl
struct wined3d_gl_view gl_view
unsigned int sub_resource_idx
struct wined3d_resource * resource
struct wined3d_rendertarget_view v
struct wined3d_gl_view gl_view
struct wined3d_bo_user bo_user
struct wined3d_shader_resource_view v
struct wined3d_gl_view gl_view
struct wined3d_query query
struct wined3d_query_data_so_statistics statistics
struct wined3d_context_gl * context_gl
union wined3d_gl_so_statistics_query u
struct wined3d_swapchain s
struct list renderbuffers
const struct wined3d_renderbuffer_entry * current_renderbuffer
struct gl_texture texture_rgb texture_srgb
struct wined3d_query query
struct wined3d_context_gl * context_gl
struct wined3d_bo_gl counter_bo
struct wined3d_unordered_access_view v
struct wined3d_bo_user bo_user
struct wined3d_gl_view gl_view
#define CONTAINING_RECORD(address, type, field)
GLuint geometry_primitives
GLuint tess_control_shader
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define WINED3D_MAX_COMBINED_SAMPLERS
#define WINED3DUSAGE_LEGACY_CUBEMAP
#define WINED3D_MAX_RENDER_TARGETS
wined3d_texture_filter_type
@ WINED3D_TADDRESS_MIRROR_ONCE
@ WINED3D_SHADER_TYPE_COUNT
#define WINED3D_BIND_RENDER_TARGET
#define WINED3D_MAX_VERTEX_SAMPLERS
const struct min_lookup minMipLookup[WINED3D_TEXF_LINEAR+1]
static const struct wined3d_buffer_gl * wined3d_buffer_gl_const(const struct wined3d_buffer *buffer)
static GLenum wined3d_texture_gl_get_sub_resource_target(const struct wined3d_texture_gl *texture_gl, unsigned int sub_resource_idx)
void wined3d_context_gl_free_fence(struct wined3d_fence *fence)
HRESULT wined3d_buffer_gl_init(struct wined3d_buffer_gl *buffer_gl, struct wined3d_device *device, const struct wined3d_buffer_desc *desc, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops)
@ EXT_BLEND_EQUATION_SEPARATE
@ ARB_FRAGMENT_PROGRAM_SHADOW
@ ARB_EXPLICIT_ATTRIB_LOCATION
@ ARB_SHADING_LANGUAGE_PACKING
@ ARB_TEXTURE_QUERY_LEVELS
@ ARB_TEXTURE_FILTER_ANISOTROPIC
@ ARB_TEXTURE_BUFFER_OBJECT
@ ARB_INTERNALFORMAT_QUERY
@ ARB_PIPELINE_STATISTICS_QUERY
@ ARB_SHADER_BIT_ENCODING
@ EXT_TEXTURE_SHARED_EXPONENT
@ ARB_DRAW_ELEMENTS_BASE_VERTEX
@ WINED3D_GL_PRIMITIVE_QUERY
@ ARB_FRAGMENT_LAYER_VIEWPORT
@ WINED3D_GL_BLEND_EQUATION
@ WGL_WINE_QUERY_RENDERER
@ APPLE_FLUSH_BUFFER_RANGE
@ ARB_SHADER_STORAGE_BUFFER_OBJECT
@ ARB_TEXTURE_ENV_COMBINE
@ WGL_WINE_PIXEL_FORMAT_PASSTHROUGH
@ ATI_TEXTURE_COMPRESSION_3DC
@ EXT_FRAMEBUFFER_MULTISAMPLE_BLIT_SCALED
@ ARB_TEXTURE_COMPRESSION_RGTC
@ ARB_TEXTURE_MIRRORED_REPEAT
@ EXT_TEXTURE_SRGB_DECODE
@ ARB_VERTEX_BUFFER_OBJECT
@ ARB_POLYGON_OFFSET_CLAMP
@ ARB_TEXTURE_BORDER_CLAMP
@ ARB_TEXTURE_MULTISAMPLE
@ ARB_INTERNALFORMAT_QUERY2
@ EXT_BLEND_FUNC_SEPARATE
@ NV_TEXTURE_ENV_COMBINE4
@ ARB_MAP_BUFFER_ALIGNMENT
@ ARB_SHADER_TEXTURE_IMAGE_SAMPLES
@ ARB_FRAGMENT_COORD_CONVENTIONS
@ ARB_UNIFORM_BUFFER_OBJECT
@ WINED3D_GL_NORMALIZED_TEXRECT
@ ARB_CLEAR_BUFFER_OBJECT
@ EXT_PACKED_DEPTH_STENCIL
@ ATI_TEXTURE_ENV_COMBINE3
@ NV_FRAGMENT_PROGRAM_OPTION
@ ARB_FRAMEBUFFER_NO_ATTACHMENTS
@ ARB_SHADING_LANGUAGE_100
@ EXT_TEXTURE_COMPRESSION_RGTC
@ EXT_TEXTURE_MIRROR_CLAMP
@ ARB_BLEND_FUNC_EXTENDED
@ ARB_SHADER_ATOMIC_COUNTERS
@ EXT_FRAMEBUFFER_MULTISAMPLE
@ ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE
@ ARB_SHADING_LANGUAGE_420PACK
@ ARB_TESSELLATION_SHADER
@ ATI_TEXTURE_MIRROR_ONCE
@ ARB_VERTEX_TYPE_2_10_10_10_REV
@ ARB_TRANSFORM_FEEDBACK3
@ ARB_TEXTURE_NON_POWER_OF_TWO
@ WINED3D_GL_LEGACY_CONTEXT
@ NV_VERTEX_PROGRAM2_OPTION
@ ARB_SHADER_STENCIL_EXPORT
@ EXT_GPU_PROGRAM_PARAMETERS
@ ARB_SHADER_IMAGE_LOAD_STORE
@ ARB_TEXTURE_COMPRESSION_BPTC
@ ARB_TEXTURE_COMPRESSION
@ ARB_SHADER_VIEWPORT_LAYER_ARRAY
@ EXT_TEXTURE_COMPRESSION_S3TC
@ ARB_TEXTURE_BUFFER_RANGE
@ ARB_PIXEL_BUFFER_OBJECT
@ ARB_QUERY_BUFFER_OBJECT
@ ARB_TRANSFORM_FEEDBACK2
@ ARB_VERTEX_TYPE_10F_11F_11F_REV
@ ARB_TEXTURE_STORAGE_MULTISAMPLE
@ EXT_TEXTURE_ENV_COMBINE
@ ARB_TEXTURE_CUBE_MAP_ARRAY
void wined3d_sampler_gl_init(struct wined3d_sampler_gl *sampler_gl, struct wined3d_device *device, const struct wined3d_sampler_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops)
void wined3d_context_gl_destroy_bo(struct wined3d_context_gl *context_gl, struct wined3d_bo_gl *bo)
void wined3d_context_gl_free_timestamp_query(struct wined3d_timestamp_query *query)
void wined3d_context_gl_free_pipeline_statistics_query(struct wined3d_pipeline_statistics_query *query)
GLbitfield wined3d_resource_gl_storage_flags(const struct wined3d_resource *resource)
BOOL wined3d_context_gl_set_current(struct wined3d_context_gl *context_gl)
void wined3d_context_gl_free_so_statistics_query(struct wined3d_so_statistics_query *query)
void ffp_vertex_update_clip_plane_constants(const struct wined3d_gl_info *gl_info, const struct wined3d_state *state)
HRESULT wined3d_texture_gl_init(struct wined3d_texture_gl *texture_gl, struct wined3d_device *device, const struct wined3d_resource_desc *desc, unsigned int layer_count, unsigned int level_count, uint32_t flags, void *parent, const struct wined3d_parent_ops *parent_ops)
void wined3d_sampler_gl_bind(struct wined3d_sampler_gl *sampler_gl, unsigned int unit, struct wined3d_texture_gl *texture_gl, const struct wined3d_context_gl *context_gl)
GLbitfield wined3d_device_gl_get_memory_type_flags(unsigned int memory_type_idx)
void wined3d_swapchain_gl_cleanup(struct wined3d_swapchain_gl *swapchain_gl)
HDC wined3d_device_gl_get_backup_dc(struct wined3d_device_gl *device_gl)
void wined3d_context_gl_bind_bo(struct wined3d_context_gl *context_gl, GLenum binding, GLuint name)
void wined3d_context_gl_texture_update(struct wined3d_context_gl *context_gl, const struct wined3d_texture_gl *texture_gl)
void wined3d_device_gl_delete_opengl_contexts_cs(void *object)
static GLenum wined3d_gl_mag_filter(enum wined3d_texture_filter_type mag_filter)
void wined3d_fbo_blitter_create(struct wined3d_blitter **next, const struct wined3d_gl_info *gl_info)
GLenum wined3d_buffer_gl_binding_from_bind_flags(const struct wined3d_gl_info *gl_info, uint32_t bind_flags)
GLenum wined3d_texture_get_gl_buffer(const struct wined3d_texture *texture)
void wined3d_gl_limits_get_texture_unit_range(const struct wined3d_gl_limits *gl_limits, enum wined3d_shader_type shader_type, unsigned int *base, unsigned int *count)
static void wined3d_allocator_chunk_gl_unlock(struct wined3d_allocator_chunk_gl *chunk_gl)
void wined3d_fence_issue(struct wined3d_fence *fence, struct wined3d_device *device)
void shader_glsl_validate_link(const struct wined3d_gl_info *gl_info, GLuint program)
void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, const struct wined3d_device *device)
void wined3d_texture_gl_set_compatible_renderbuffer(struct wined3d_texture_gl *texture_gl, struct wined3d_context_gl *context_gl, unsigned int level, const struct wined3d_rendertarget_info *rt)
void wined3d_context_gl_bind_dummy_textures(const struct wined3d_context_gl *context_gl)
struct wined3d_context_gl * wined3d_context_gl_reacquire(struct wined3d_context_gl *context_gl)
struct wined3d_blitter * wined3d_glsl_blitter_create(struct wined3d_blitter **next, const struct wined3d_device *device)
void wined3d_context_gl_alloc_pipeline_statistics_query(struct wined3d_context_gl *context_gl, struct wined3d_pipeline_statistics_query *query)
BOOL wined3d_adapter_gl_init_format_info(struct wined3d_adapter *adapter, struct wined3d_caps_gl_ctx *ctx)
void wined3d_shader_resource_view_gl_bind(struct wined3d_shader_resource_view_gl *view_gl, unsigned int unit, struct wined3d_sampler_gl *sampler_gl, struct wined3d_context_gl *context_gl)
void wined3d_context_gl_alloc_occlusion_query(struct wined3d_context_gl *context_gl, struct wined3d_occlusion_query *query)
static bool wined3d_texture_gl_is_multisample_location(const struct wined3d_texture_gl *texture_gl, uint32_t location)
static void wined3d_device_gl_allocator_lock(struct wined3d_device_gl *device_gl)
static void wined3d_context_gl_reference_bo(struct wined3d_context_gl *context_gl, struct wined3d_bo_gl *bo_gl)
BOOL wined3d_caps_gl_ctx_test_viewport_subpixel_bits(struct wined3d_caps_gl_ctx *ctx)
BOOL wined3d_context_gl_apply_clear_state(struct wined3d_context_gl *context_gl, const struct wined3d_state *state, unsigned int rt_count, const struct wined3d_fb_state *fb)
void wined3d_context_gl_alloc_so_statistics_query(struct wined3d_context_gl *context_gl, struct wined3d_so_statistics_query *query)
HRESULT wined3d_query_gl_create(struct wined3d_device *device, enum wined3d_query_type type, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_query **query)
HRESULT wined3d_context_gl_init(struct wined3d_context_gl *context_gl, struct wined3d_swapchain_gl *swapchain_gl)
#define MAX_GL_FRAGMENT_SAMPLERS
void wined3d_context_gl_copy_bo_address(struct wined3d_context_gl *context_gl, const struct wined3d_bo_address *dst, const struct wined3d_bo_address *src, unsigned int range_count, const struct wined3d_range *ranges, uint32_t map_flags)
void wined3d_context_gl_draw_shaded_quad(struct wined3d_context_gl *context_gl, struct wined3d_texture_gl *texture_gl, unsigned int sub_resource_idx, const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter)
static const struct wined3d_context_gl * wined3d_context_gl_const(const struct wined3d_context *context)
void wined3d_gl_texture_swizzle_from_color_fixup(GLint swizzle[4], struct color_fixup_desc fixup)
void wined3d_fence_destroy(struct wined3d_fence *fence)
void context_gl_apply_texture_draw_state(struct wined3d_context_gl *context_gl, struct wined3d_texture *texture, unsigned int sub_resource_idx, unsigned int location)
static struct gl_texture * wined3d_texture_gl_get_gl_texture(struct wined3d_texture_gl *texture_gl, bool srgb)
void wined3d_context_gl_enable_clip_distances(struct wined3d_context_gl *context_gl, uint32_t mask)
void wined3d_unordered_access_view_gl_clear(struct wined3d_unordered_access_view_gl *view_gl, const struct wined3d_uvec4 *clear_value, struct wined3d_context_gl *context_gl, bool fp)
struct wined3d_context * wined3d_context_gl_acquire(const struct wined3d_device *device, struct wined3d_texture *texture, unsigned int sub_resource_idx)
const unsigned int * wined3d_context_gl_get_tex_unit_mapping(const struct wined3d_context_gl *context_gl, const struct wined3d_shader_version *shader_version, unsigned int *base, unsigned int *count)
void wined3d_unordered_access_view_gl_update(struct wined3d_unordered_access_view_gl *uav_gl, struct wined3d_context_gl *context_gl)
void wined3d_context_gl_end_transform_feedback(struct wined3d_context_gl *context_gl)
const GLenum magLookup[WINED3D_TEXF_LINEAR+1]
void wined3d_context_gl_submit_command_fence(struct wined3d_context_gl *context_gl)
void wined3d_texture_gl_bind_and_dirtify(struct wined3d_texture_gl *texture_gl, struct wined3d_context_gl *context_gl, BOOL srgb)
static void wined3d_device_gl_allocator_unlock(struct wined3d_device_gl *device_gl)
HRESULT wined3d_swapchain_gl_init(struct wined3d_swapchain_gl *swapchain_gl, struct wined3d_device *device, const struct wined3d_swapchain_desc *desc, struct wined3d_swapchain_state_parent *state_parent, void *parent, const struct wined3d_parent_ops *parent_ops)
static bool wined3d_fence_supported(const struct wined3d_gl_info *gl_info)
struct wined3d_context_gl * wined3d_context_gl_get_current(void)
void wined3d_context_gl_wait_command_fence(struct wined3d_context_gl *context_gl, uint64_t id)
static GLuint wined3d_bo_gl_id(struct wined3d_bo *bo)
void wined3d_shader_resource_view_gl_generate_mipmap(struct wined3d_shader_resource_view_gl *srv_gl, struct wined3d_context_gl *context_gl)
void wined3d_shader_resource_view_gl_update(struct wined3d_shader_resource_view_gl *srv_gl, struct wined3d_context_gl *context_gl)
HRESULT wined3d_rendertarget_view_gl_init(struct wined3d_rendertarget_view_gl *view_gl, const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops)
static GLuint wined3d_gl_get_internal_format(struct wined3d_resource *resource, const struct wined3d_format_gl *format_gl, bool srgb)
HRESULT wined3d_fence_create(struct wined3d_device *device, struct wined3d_fence **fence)
HRESULT wined3d_unordered_access_view_gl_init(struct wined3d_unordered_access_view_gl *view_gl, const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops)
GLbitfield wined3d_resource_gl_map_flags(const struct wined3d_bo_gl *bo, DWORD d3d_flags)
GLuint wined3d_context_gl_allocate_vram_chunk_buffer(struct wined3d_context_gl *context_gl, unsigned int pool, size_t size)
static void wined3d_allocator_chunk_gl_lock(struct wined3d_allocator_chunk_gl *chunk_gl)
void wined3d_raw_blitter_create(struct wined3d_blitter **next, const struct wined3d_gl_info *gl_info)
void wined3d_context_gl_unmap_bo_address(struct wined3d_context_gl *context_gl, const struct wined3d_bo_address *data, unsigned int range_count, const struct wined3d_range *ranges)
enum wined3d_fence_result wined3d_fence_test(const struct wined3d_fence *fence, struct wined3d_device *device, uint32_t flags)
void wined3d_context_gl_destroy(struct wined3d_context_gl *context_gl)
const char * debug_fboattachment(GLenum attachment)
bool wined3d_caps_gl_ctx_test_filling_convention(struct wined3d_caps_gl_ctx *ctx, float offset)
static GLenum wined3d_gl_min_mip_filter(enum wined3d_texture_filter_type min_filter, enum wined3d_texture_filter_type mip_filter)
static GLuint wined3d_texture_gl_get_texture_name(const struct wined3d_texture_gl *texture_gl, const struct wined3d_context *context, bool srgb)
void texture2d_get_blt_info(const struct wined3d_texture_gl *texture_gl, unsigned int sub_resource_idx, const RECT *rect, struct wined3d_blt_info *info)
const char * debug_glerror(GLenum error)
void wined3d_texture_gl_prepare_texture(struct wined3d_texture_gl *texture_gl, struct wined3d_context_gl *context_gl, BOOL srgb)
void wined3d_context_gl_update_stream_sources(struct wined3d_context_gl *context_gl, const struct wined3d_state *state)
HGLRC context_create_wgl_attribs(const struct wined3d_gl_info *gl_info, HDC hdc, HGLRC share_ctx)
bool wined3d_device_gl_create_bo(struct wined3d_device_gl *device_gl, struct wined3d_context_gl *context_gl, GLsizeiptr size, GLenum binding, GLenum usage, bool coherent, GLbitfield flags, struct wined3d_bo_gl *bo)
@ WINED3D_FENCE_WRONG_THREAD
@ WINED3D_FENCE_NOT_STARTED
void texture2d_read_from_framebuffer(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, DWORD src_location, DWORD dst_location)
GLenum wined3d_resource_gl_legacy_map_flags(DWORD d3d_flags)
void wined3d_context_gl_release(struct wined3d_context_gl *context_gl)
void wined3d_context_gl_free_occlusion_query(struct wined3d_occlusion_query *query)
void * wined3d_context_gl_map_bo_address(struct wined3d_context_gl *context_gl, const struct wined3d_bo_address *data, size_t size, uint32_t flags)
void wined3d_context_gl_check_fbo_status(const struct wined3d_context_gl *context_gl, GLenum target)
void wined3d_gl_limits_get_uniform_block_range(const struct wined3d_gl_limits *gl_limits, enum wined3d_shader_type shader_type, unsigned int *base, unsigned int *count)
void wined3d_texture_gl_bind(struct wined3d_texture_gl *texture_gl, struct wined3d_context_gl *context_gl, BOOL srgb)
void wined3d_texture_gl_apply_sampler_desc(struct wined3d_texture_gl *texture_gl, const struct wined3d_sampler_desc *sampler_desc, const struct wined3d_context_gl *context_gl)
void wined3d_context_gl_bind_texture(struct wined3d_context_gl *context_gl, GLenum target, GLuint name)
void wined3d_context_gl_alloc_fence(struct wined3d_context_gl *context_gl, struct wined3d_fence *fence)
enum wined3d_fence_result wined3d_fence_wait(const struct wined3d_fence *fence, struct wined3d_device *device)
void wined3d_query_gl_destroy_buffer_object(struct wined3d_context_gl *context_gl, struct wined3d_query *query)
void wined3d_context_gl_apply_fbo_state_explicit(struct wined3d_context_gl *context_gl, GLenum target, struct wined3d_resource *rt, unsigned int rt_sub_resource_idx, struct wined3d_resource *ds, unsigned int ds_sub_resource_idx, uint32_t location)
void wined3d_ffp_blitter_create(struct wined3d_blitter **next, const struct wined3d_gl_info *gl_info)
DWORD context_get_tls_idx(void)
struct wined3d_context_gl * wined3d_swapchain_gl_get_context(struct wined3d_swapchain_gl *swapchain_gl)
void(WINE_GLAPI * wined3d_generic_attrib_func)(GLuint idx, const void *data)
void install_gl_compat_wrapper(struct wined3d_gl_info *gl_info, enum wined3d_gl_extension ext)
void wined3d_context_gl_alloc_timestamp_query(struct wined3d_context_gl *context_gl, struct wined3d_timestamp_query *query)
GLenum wined3d_gl_compare_func(enum wined3d_cmp_func f)
void context_gl_resource_released(struct wined3d_device *device, GLuint name, BOOL rb_namespace)
void wined3d_context_gl_flush_bo_address(struct wined3d_context_gl *context_gl, const struct wined3d_const_bo_address *data, size_t size)
void wined3d_check_gl_call(const struct wined3d_gl_info *gl_info, const char *file, unsigned int line, const char *name)
const char * debug_fbostatus(GLenum status)
HRESULT wined3d_shader_resource_view_gl_init(struct wined3d_shader_resource_view_gl *view_gl, const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops)
static void wined3d_context_gl_reference_buffer(struct wined3d_context_gl *context_gl, struct wined3d_buffer *buffer)
void print_glsl_info_log(const struct wined3d_gl_info *gl_info, GLuint id, BOOL program)
GLenum wined3d_context_gl_get_offscreen_gl_buffer(const struct wined3d_context_gl *context_gl)
void wined3d_device_gl_create_primary_opengl_context_cs(void *object)
static const struct wined3d_adapter_gl * wined3d_adapter_gl_const(const struct wined3d_adapter *adapter)
static struct wined3d_device_gl * wined3d_device_gl_from_allocator(struct wined3d_allocator *allocator)
void wined3d_context_gl_active_texture(struct wined3d_context_gl *context_gl, const struct wined3d_gl_info *gl_info, unsigned int unit)
#define WINED3D_LOCATION_TEXTURE_SRGB
#define WINED3D_LOCATION_TEXTURE_RGB
static BOOL needs_separate_srgb_gl_texture(const struct wined3d_context *context, const struct wined3d_texture *texture)
#define WINED3D_LOCATION_RB_MULTISAMPLE