Переглянути джерело

r300g: add r300_init_blit_functions, remove r300_blit.h

tags/mesa-7.9-rc1
Marek Olšák 15 роки тому
джерело
коміт
85eede1b2f

+ 26
- 20
src/gallium/drivers/r300/r300_blit.c Переглянути файл

@@ -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;
}

+ 0
- 52
src/gallium/drivers/r300/r300_blit.h Переглянути файл

@@ -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 */

+ 1
- 5
src/gallium/drivers/r300/r300_context.c Переглянути файл

@@ -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);

+ 1
- 0
src/gallium/drivers/r300/r300_context.h Переглянути файл

@@ -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);


Завантаження…
Відмінити
Зберегти