r600c: add blit support for evergreen
driver was previously calling the r600 blit code which won't work on evergreen.
This commit is contained in:
@@ -68,6 +68,7 @@ DRIVER_SOURCES = \
|
||||
evergreen_vertprog.c \
|
||||
evergreen_fragprog.c \
|
||||
evergreen_oglprog.c \
|
||||
evergreen_blit.c \
|
||||
$(RADEON_COMMON_SOURCES) \
|
||||
$(EGL_SOURCES) \
|
||||
$(CS_SOURCES)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* 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 the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, 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 NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS 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 EVERGREEN_BLIT_H
|
||||
#define EVERGREEN_BLIT_H
|
||||
|
||||
unsigned evergreen_check_blit(gl_format mesa_format);
|
||||
|
||||
unsigned evergreen_blit(GLcontext *ctx,
|
||||
struct radeon_bo *src_bo,
|
||||
intptr_t src_offset,
|
||||
gl_format src_mesaformat,
|
||||
unsigned src_pitch,
|
||||
unsigned src_width,
|
||||
unsigned src_height,
|
||||
unsigned src_x_offset,
|
||||
unsigned src_y_offset,
|
||||
struct radeon_bo *dst_bo,
|
||||
intptr_t dst_offset,
|
||||
gl_format dst_mesaformat,
|
||||
unsigned dst_pitch,
|
||||
unsigned dst_width,
|
||||
unsigned dst_height,
|
||||
unsigned dst_x_offset,
|
||||
unsigned dst_y_offset,
|
||||
unsigned w,
|
||||
unsigned h,
|
||||
unsigned flip_y);
|
||||
|
||||
#endif // EVERGREEN_BLIT_H
|
||||
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* 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 the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, 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 NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS 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.
|
||||
*
|
||||
*/
|
||||
|
||||
const uint32_t evergreen_vs[] =
|
||||
{
|
||||
0x00000004,
|
||||
0x80800400,
|
||||
0x0000a03c,
|
||||
0x95000688,
|
||||
0x00004000,
|
||||
0x15200688,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x3c000000,
|
||||
0x67961001,
|
||||
0x00080000,
|
||||
0x00000000,
|
||||
0x1c000000,
|
||||
0x67961000,
|
||||
0x00000008,
|
||||
0x00000000,
|
||||
};
|
||||
|
||||
const uint32_t evergreen_ps[] =
|
||||
{
|
||||
0x00000003,
|
||||
0xa00c0000,
|
||||
0x00000008,
|
||||
0x80400000,
|
||||
0x00000000,
|
||||
0x95200688,
|
||||
0x00380400,
|
||||
0x00146b10,
|
||||
0x00380000,
|
||||
0x20146b10,
|
||||
0x00380400,
|
||||
0x40146b00,
|
||||
0x80380000,
|
||||
0x60146b00,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000010,
|
||||
0x000d1000,
|
||||
0xb0800000,
|
||||
0x00000000,
|
||||
};
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "radeon_common_context.h"
|
||||
#include "evergreen_context.h"
|
||||
#include "evergreen_state.h"
|
||||
#include "r600_blit.h"
|
||||
#include "evergreen_blit.h"
|
||||
|
||||
static void evergreen_get_lock(radeonContextPtr rmesa)
|
||||
{
|
||||
@@ -96,8 +96,8 @@ void evergreen_init_vtbl(radeonContextPtr radeon)
|
||||
radeon->vtbl.pre_emit_atoms = evergreen_vtbl_pre_emit_atoms;
|
||||
radeon->vtbl.fallback = evergreen_fallback;
|
||||
radeon->vtbl.emit_query_finish = evergreen_emit_query_finish;
|
||||
radeon->vtbl.check_blit = r600_check_blit;
|
||||
radeon->vtbl.blit = r600_blit;
|
||||
radeon->vtbl.check_blit = evergreen_check_blit;
|
||||
radeon->vtbl.blit = evergreen_blit;
|
||||
radeon->vtbl.is_format_renderable = r600IsFormatRenderable;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user