sonarlint voodoo stuff
This commit is contained in:
@@ -163,8 +163,6 @@ voodoo_v2_blit_start(voodoo_t *voodoo)
|
||||
int dst_stride = (voodoo->bltCommand & BLTCMD_DST_TILED) ? ((voodoo->bltDstXYStride & 0x3f) * 32 * 2) : (voodoo->bltDstXYStride & 0xff8);
|
||||
uint32_t src_base_addr = (voodoo->bltCommand & BLTCMD_SRC_TILED) ? ((voodoo->bltSrcBaseAddr & 0x3ff) << 12) : (voodoo->bltSrcBaseAddr & 0x3ffff8);
|
||||
uint32_t dst_base_addr = (voodoo->bltCommand & BLTCMD_DST_TILED) ? ((voodoo->bltDstBaseAddr & 0x3ff) << 12) : (voodoo->bltDstBaseAddr & 0x3ffff8);
|
||||
int x;
|
||||
int y;
|
||||
|
||||
#if 0
|
||||
voodooblt_log("blit_start: command=%08x srcX=%i srcY=%i dstX=%i dstY=%i sizeX=%i sizeY=%i color=%04x,%04x\n",
|
||||
@@ -175,13 +173,13 @@ voodoo_v2_blit_start(voodoo_t *voodoo)
|
||||
|
||||
switch (voodoo->bltCommand & BLIT_COMMAND_MASK) {
|
||||
case BLIT_COMMAND_SCREEN_TO_SCREEN:
|
||||
for (y = 0; y <= size_y; y++) {
|
||||
uint16_t *src = (uint16_t *) &voodoo->fb_mem[src_base_addr + src_y * src_stride];
|
||||
uint16_t *dst = (uint16_t *) &voodoo->fb_mem[dst_base_addr + dst_y * dst_stride];
|
||||
int src_x = voodoo->bltSrcX;
|
||||
int dst_x = voodoo->bltDstX;
|
||||
for (int y = 0; y <= size_y; y++) {
|
||||
const uint16_t *src = (uint16_t *) &voodoo->fb_mem[src_base_addr + src_y * src_stride];
|
||||
uint16_t *dst = (uint16_t *) &voodoo->fb_mem[dst_base_addr + dst_y * dst_stride];
|
||||
int src_x = voodoo->bltSrcX;
|
||||
int dst_x = voodoo->bltDstX;
|
||||
|
||||
for (x = 0; x <= size_x; x++) {
|
||||
for (int x = 0; x <= size_x; x++) {
|
||||
uint16_t src_dat = src[src_x];
|
||||
uint16_t dst_dat = dst[dst_x];
|
||||
int rop = 0;
|
||||
@@ -233,7 +231,7 @@ skip_pixel_blit:
|
||||
break;
|
||||
|
||||
case BLIT_COMMAND_RECT_FILL:
|
||||
for (y = 0; y <= size_y; y++) {
|
||||
for (int y = 0; y <= size_y; y++) {
|
||||
uint16_t *dst;
|
||||
int dst_x = voodoo->bltDstX;
|
||||
|
||||
@@ -244,7 +242,7 @@ skip_pixel_blit:
|
||||
} else
|
||||
dst = (uint16_t *) &voodoo->fb_mem[dst_base_addr + dst_y * dst_stride];
|
||||
|
||||
for (x = 0; x <= size_x; x++) {
|
||||
for (int x = 0; x <= size_x; x++) {
|
||||
if (voodoo->bltCommand & BLIT_CLIPPING_ENABLED) {
|
||||
if (dst_x < voodoo->bltClipLeft || dst_x >= voodoo->bltClipRight || dst_y < voodoo->bltClipLowY || dst_y >= voodoo->bltClipHighY)
|
||||
goto skip_pixel_fill;
|
||||
@@ -267,7 +265,7 @@ skip_line_fill:
|
||||
|
||||
dat64 = voodoo->bltColorFg | ((uint64_t) voodoo->bltColorFg << 16) | ((uint64_t) voodoo->bltColorFg << 32) | ((uint64_t) voodoo->bltColorFg << 48);
|
||||
|
||||
for (y = 0; y <= size_y; y++) {
|
||||
for (int y = 0; y <= size_y; y++) {
|
||||
uint64_t *dst;
|
||||
|
||||
/*This may be wrong*/
|
||||
@@ -284,7 +282,7 @@ skip_line_fill:
|
||||
|
||||
dst = (uint64_t *) &voodoo->fb_mem[(dst_y * 512 * 8 + dst_x * 8) & voodoo->fb_mask];
|
||||
|
||||
for (x = 0; x <= size_x; x++)
|
||||
for (int x = 0; x <= size_x; x++)
|
||||
dst[x] = dat64;
|
||||
|
||||
dst_y++;
|
||||
@@ -347,6 +345,9 @@ voodoo_v2_blit_data(voodoo_t *voodoo, uint32_t data)
|
||||
case BLIT_SRC_RGB_BGRA:
|
||||
src_dat = ((data & 0xf800) >> 11) | (data & 0x07c0) | ((data & 0x0038) << 11);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
data >>= 16;
|
||||
src_bits -= 16;
|
||||
@@ -375,6 +376,9 @@ voodoo_v2_blit_data(voodoo_t *voodoo, uint32_t data)
|
||||
g = (data >> 16) & 0xff;
|
||||
b = (data >> 24) & 0xff;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (voodoo->bltCommand & BLIT_SRC_FORMAT) {
|
||||
case BLIT_SRC_24BPP:
|
||||
@@ -392,9 +396,15 @@ voodoo_v2_blit_data(voodoo_t *voodoo, uint32_t data)
|
||||
b = dither_rb[b][voodoo->blt.dst_y & 3][x & 3];
|
||||
src_dat = (b >> 3) | ((g & 0xfc) << 3) | ((r & 0xf8) << 8);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
src_bits = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (SLI_ENABLED) {
|
||||
|
||||
Reference in New Issue
Block a user