wined3d: Replace surface_update_draw_binding() with wined3d_resource_update_draw_binding().

This commit is contained in:
Henri Verbeet 2014-08-20 13:19:59 +02:00 committed by Alexandre Julliard
parent 255894c1f1
commit 1ce3269ac1
4 changed files with 15 additions and 15 deletions

View File

@ -323,3 +323,13 @@ BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource)
* offscreen, otherwise onscreen */ * offscreen, otherwise onscreen */
return swapchain->render_to_fbo; return swapchain->render_to_fbo;
} }
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource)
{
if (!wined3d_resource_is_offscreen(resource) || wined3d_settings.offscreen_rendering_mode != ORM_FBO)
resource->draw_binding = WINED3D_LOCATION_DRAWABLE;
else if (resource->multisample_type)
resource->draw_binding = WINED3D_LOCATION_RB_MULTISAMPLE;
else
resource->draw_binding = WINED3D_LOCATION_TEXTURE_RGB;
}

View File

@ -112,16 +112,6 @@ void wined3d_surface_destroy(struct wined3d_surface *surface)
HeapFree(GetProcessHeap(), 0, surface); HeapFree(GetProcessHeap(), 0, surface);
} }
void surface_update_draw_binding(struct wined3d_surface *surface)
{
if (!wined3d_resource_is_offscreen(&surface->resource) || wined3d_settings.offscreen_rendering_mode != ORM_FBO)
surface->resource.draw_binding = WINED3D_LOCATION_DRAWABLE;
else if (surface->resource.multisample_type)
surface->resource.draw_binding = WINED3D_LOCATION_RB_MULTISAMPLE;
else
surface->resource.draw_binding = WINED3D_LOCATION_TEXTURE_RGB;
}
void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context, void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context,
unsigned int *width, unsigned int *height) unsigned int *width, unsigned int *height)
{ {
@ -157,7 +147,7 @@ void surface_set_swapchain(struct wined3d_surface *surface, struct wined3d_swapc
TRACE("surface %p, swapchain %p.\n", surface, swapchain); TRACE("surface %p, swapchain %p.\n", surface, swapchain);
surface->swapchain = swapchain; surface->swapchain = swapchain;
surface_update_draw_binding(surface); wined3d_resource_update_draw_binding(&surface->resource);
} }
struct blt_info struct blt_info
@ -5974,7 +5964,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
} }
surface->container = container; surface->container = container;
surface_update_draw_binding(surface); wined3d_resource_update_draw_binding(&surface->resource);
surface_validate_location(surface, WINED3D_LOCATION_SYSMEM); surface_validate_location(surface, WINED3D_LOCATION_SYSMEM);
list_init(&surface->renderbuffers); list_init(&surface->renderbuffers);
list_init(&surface->overlays); list_init(&surface->overlays);

View File

@ -1144,10 +1144,10 @@ void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain)
{ {
UINT i; UINT i;
surface_update_draw_binding(swapchain->front_buffer); wined3d_resource_update_draw_binding(&swapchain->front_buffer->resource);
for (i = 0; i < swapchain->desc.backbuffer_count; ++i) for (i = 0; i < swapchain->desc.backbuffer_count; ++i)
{ {
surface_update_draw_binding(swapchain->back_buffers[i]); wined3d_resource_update_draw_binding(&swapchain->back_buffers[i]->resource);
} }
} }

View File

@ -2065,6 +2065,7 @@ GLbitfield wined3d_resource_gl_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN;
GLenum wined3d_resource_gl_legacy_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN; GLenum wined3d_resource_gl_legacy_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN;
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN; BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN; DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
/* Tests show that the start address of resources is 32 byte aligned */ /* Tests show that the start address of resources is 32 byte aligned */
#define RESOURCE_ALIGNMENT 16 #define RESOURCE_ALIGNMENT 16
@ -2305,7 +2306,6 @@ void surface_set_compatible_renderbuffer(struct wined3d_surface *surface,
void surface_set_swapchain(struct wined3d_surface *surface, struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN; void surface_set_swapchain(struct wined3d_surface *surface, struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
void surface_set_texture_target(struct wined3d_surface *surface, GLenum target, GLint level) DECLSPEC_HIDDEN; void surface_set_texture_target(struct wined3d_surface *surface, GLenum target, GLint level) DECLSPEC_HIDDEN;
void surface_translate_drawable_coords(const struct wined3d_surface *surface, HWND window, RECT *rect) DECLSPEC_HIDDEN; void surface_translate_drawable_coords(const struct wined3d_surface *surface, HWND window, RECT *rect) DECLSPEC_HIDDEN;
void surface_update_draw_binding(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const POINT *dst_point, HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const POINT *dst_point,
struct wined3d_surface *src_surface, const RECT *src_rect) DECLSPEC_HIDDEN; struct wined3d_surface *src_surface, const RECT *src_rect) DECLSPEC_HIDDEN;
void surface_validate_location(struct wined3d_surface *surface, DWORD location) DECLSPEC_HIDDEN; void surface_validate_location(struct wined3d_surface *surface, DWORD location) DECLSPEC_HIDDEN;