@@ -20,7 +20,6 @@ | |||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | |||
* USE OR OTHER DEALINGS IN THE SOFTWARE. */ | |||
#include "r300_blit.h" | |||
#include "r300_context.h" | |||
#include "r300_texture.h" | |||
@@ -43,11 +42,11 @@ static void r300_blitter_save_states(struct r300_context* r300) | |||
} | |||
/* Clear currently bound buffers. */ | |||
void r300_clear(struct pipe_context* pipe, | |||
unsigned buffers, | |||
const float* rgba, | |||
double depth, | |||
unsigned stencil) | |||
static void r300_clear(struct pipe_context* pipe, | |||
unsigned buffers, | |||
const float* rgba, | |||
double depth, | |||
unsigned stencil) | |||
{ | |||
/* XXX Implement fastfill. | |||
* | |||
@@ -119,14 +118,14 @@ static void r300_hw_copy_region(struct pipe_context* pipe, | |||
} | |||
/* Copy a block of pixels from one surface to another. */ | |||
void r300_resource_copy_region(struct pipe_context *pipe, | |||
struct pipe_resource *dst, | |||
struct pipe_subresource subdst, | |||
unsigned dstx, unsigned dsty, unsigned dstz, | |||
struct pipe_resource *src, | |||
struct pipe_subresource subsrc, | |||
unsigned srcx, unsigned srcy, unsigned srcz, | |||
unsigned width, unsigned height) | |||
static void r300_resource_copy_region(struct pipe_context *pipe, | |||
struct pipe_resource *dst, | |||
struct pipe_subresource subdst, | |||
unsigned dstx, unsigned dsty, unsigned dstz, | |||
struct pipe_resource *src, | |||
struct pipe_subresource subsrc, | |||
unsigned srcx, unsigned srcy, unsigned srcz, | |||
unsigned width, unsigned height) | |||
{ | |||
enum pipe_format old_format = dst->format; | |||
enum pipe_format new_format = old_format; | |||
@@ -190,12 +189,12 @@ void r300_resource_copy_region(struct pipe_context *pipe, | |||
} | |||
/* Fill a region of a surface with a constant value. */ | |||
void r300_resource_fill_region(struct pipe_context *pipe, | |||
struct pipe_resource *dst, | |||
struct pipe_subresource subdst, | |||
unsigned dstx, unsigned dsty, unsigned dstz, | |||
unsigned width, unsigned height, | |||
unsigned value) | |||
static void r300_resource_fill_region(struct pipe_context *pipe, | |||
struct pipe_resource *dst, | |||
struct pipe_subresource subdst, | |||
unsigned dstx, unsigned dsty, unsigned dstz, | |||
unsigned width, unsigned height, | |||
unsigned value) | |||
{ | |||
struct r300_context *r300 = r300_context(pipe); | |||
@@ -205,3 +204,10 @@ void r300_resource_fill_region(struct pipe_context *pipe, | |||
util_blitter_fill_region(r300->blitter, dst, subdst, | |||
dstx, dsty, dstz, width, height, value); | |||
} | |||
void r300_init_blit_functions(struct r300_context *r300) | |||
{ | |||
r300->context.clear = r300_clear; | |||
r300->context.resource_copy_region = r300_resource_copy_region; | |||
r300->context.resource_fill_region = r300_resource_fill_region; | |||
} |
@@ -1,52 +0,0 @@ | |||
/* | |||
* Copyright 2008 Marek Olšák <maraeo@gmail.com> | |||
* | |||
* Permission is hereby granted, free of charge, to any person obtaining a | |||
* copy of this software and associated documentation files (the "Software"), | |||
* to deal in the Software without restriction, including without limitation | |||
* on the rights to use, copy, modify, merge, publish, distribute, sub | |||
* license, and/or sell copies of the Software, and to permit persons to whom | |||
* the Software is furnished to do so, subject to the following conditions: | |||
* | |||
* The above copyright notice and this permission notice (including the next | |||
* paragraph) shall be included in all copies or substantial portions of the | |||
* Software. | |||
* | |||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL | |||
* THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, | |||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | |||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | |||
* USE OR OTHER DEALINGS IN THE SOFTWARE. */ | |||
#ifndef R300_BLIT_H | |||
#define R300_BLIT_H | |||
struct pipe_context; | |||
struct pipe_resource; | |||
struct pipe_subresource; | |||
void r300_clear(struct pipe_context* pipe, | |||
unsigned buffers, | |||
const float* rgba, | |||
double depth, | |||
unsigned stencil); | |||
void r300_resource_copy_region(struct pipe_context *pipe, | |||
struct pipe_resource *dst, | |||
struct pipe_subresource subdst, | |||
unsigned dstx, unsigned dsty, unsigned dstz, | |||
struct pipe_resource *src, | |||
struct pipe_subresource subsrc, | |||
unsigned srcx, unsigned srcy, unsigned srcz, | |||
unsigned width, unsigned height); | |||
void r300_resource_fill_region(struct pipe_context* pipe, | |||
struct pipe_resource* dst, | |||
struct pipe_subresource subdst, | |||
unsigned dstx, unsigned dsty, unsigned dstz, | |||
unsigned width, unsigned height, | |||
unsigned value); | |||
#endif /* R300_BLIT_H */ |
@@ -26,7 +26,6 @@ | |||
#include "util/u_simple_list.h" | |||
#include "util/u_upload_mgr.h" | |||
#include "r300_blit.h" | |||
#include "r300_context.h" | |||
#include "r300_emit.h" | |||
#include "r300_flush.h" | |||
@@ -185,10 +184,6 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen, | |||
r300->context.destroy = r300_destroy_context; | |||
r300->context.clear = r300_clear; | |||
r300->context.resource_copy_region = r300_resource_copy_region; | |||
r300->context.resource_fill_region = r300_resource_fill_region; | |||
if (r300screen->caps.has_tcl) { | |||
r300->context.draw_arrays = r300_draw_arrays; | |||
r300->context.draw_elements = r300_draw_elements; | |||
@@ -226,6 +221,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen, | |||
R300_BIND_OQBO, 4096); | |||
make_empty_list(&r300->query_list); | |||
r300_init_blit_functions(r300); | |||
r300_init_flush_functions(r300); | |||
r300_init_query_functions(r300); | |||
r300_init_state_functions(r300); |
@@ -462,6 +462,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen, | |||
/* Context initialization. */ | |||
struct draw_stage* r300_draw_stage(struct r300_context* r300); | |||
void r300_init_blit_functions(struct r300_context *r300); | |||
void r300_init_state_functions(struct r300_context* r300); | |||
void r300_init_resource_functions(struct r300_context* r300); | |||