Navigate to the top level

Surface_clip

Description
Tests behavior of NV097_SET_SURFACE_CLIP_HORIZONTAL and NV097_SET_SURFACE_CLIP_VERTICAL.
Suite class def

DebugTextShouldClip

Sets a tiny clip area and renders debug text. No text should be visible.

Image with alpha
Test result for Surface_clip::DebugTextShouldClip
Image as seen on display
No alpha test result for Surface_clip::DebugTextShouldClip

rt_x0y0_w0h0

Configures a texture target as R5G6B5 and sets the clip region to 0,0 0x0, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer.

Image with alpha
Test result for Surface_clip::rt_x0y0_w0h0
Image as seen on display
No alpha test result for Surface_clip::rt_x0y0_w0h0

rt_x0y0_w512h384

Configures a texture target as R5G6B5 and sets the clip region to 0,0 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::rt_x0y0_w512h384
Image as seen on display
No alpha test result for Surface_clip::rt_x0y0_w512h384

rt_x0y0_w640h480

Configures a texture target as R5G6B5 and sets the clip region to 0,0 640x480, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary.The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::rt_x0y0_w640h480
Image as seen on display
No alpha test result for Surface_clip::rt_x0y0_w640h480

rt_x0y240_w640h240

Configures a texture target as R5G6B5 and sets the clip region to 0,240 640x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::rt_x0y240_w640h240
Image as seen on display
No alpha test result for Surface_clip::rt_x0y240_w640h240

rt_x16y8_w512h384

Configures a texture target as R5G6B5 and sets the clip region to 16,8 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::rt_x16y8_w512h384
Image as seen on display
No alpha test result for Surface_clip::rt_x16y8_w512h384

rt_x320y240_w320h240

Configures a texture target as R5G6B5 and sets the clip region to 320,240 320x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::rt_x320y240_w320h240
Image as seen on display
No alpha test result for Surface_clip::rt_x320y240_w320h240

rt_x8y16_w632h464

Configures a texture target as R5G6B5 and sets the clip region to 8,16 632x464, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::rt_x8y16_w632h464
Image as seen on display
No alpha test result for Surface_clip::rt_x8y16_w632h464

x0y0_w0h0

Configures the backbuffer as R5G6B5 and sets the clip region to 0,0 0x0, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x0y0_w0h0
Image as seen on display
No alpha test result for Surface_clip::x0y0_w0h0

x0y0_w0h0_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 0,0 0x0, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No geometry should be seen, since width and height of the clip region are 0.

Image with alpha
Test result for Surface_clip::x0y0_w0h0_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w0h0_A8R8G8B8

x0y0_w0h0_B8

Image with alpha
Test result for Surface_clip::x0y0_w0h0_B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w0h0_B8

x0y0_w0h0_G8B8

Image with alpha
Test result for Surface_clip::x0y0_w0h0_G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w0h0_G8B8

x0y0_w512h384

Configures the backbuffer as R5G6B5 and sets the clip region to 0,0 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x0y0_w512h384
Image as seen on display
No alpha test result for Surface_clip::x0y0_w512h384

x0y0_w512h384_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 0,0 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::x0y0_w512h384_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w512h384_A8R8G8B8

x0y0_w512h384_B8

Image with alpha
Test result for Surface_clip::x0y0_w512h384_B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w512h384_B8

x0y0_w512h384_G8B8

Image with alpha
Test result for Surface_clip::x0y0_w512h384_G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w512h384_G8B8

x0y0_w640h480

Configures the backbuffer as R5G6B5 and sets the clip region to 0,0 640x480, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x0y0_w640h480
Image as seen on display
No alpha test result for Surface_clip::x0y0_w640h480

x0y0_w640h480_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 0,0 640x480, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::x0y0_w640h480_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w640h480_A8R8G8B8

x0y0_w640h480_B8

Image with alpha
Test result for Surface_clip::x0y0_w640h480_B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w640h480_B8

x0y0_w640h480_G8B8

Image with alpha
Test result for Surface_clip::x0y0_w640h480_G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y0_w640h480_G8B8

x0y240_w640h240

Configures the backbuffer as R5G6B5 and sets the clip region to 0,240 640x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x0y240_w640h240
Image as seen on display
No alpha test result for Surface_clip::x0y240_w640h240

x0y240_w640h240_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 0,240 640x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::x0y240_w640h240_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y240_w640h240_A8R8G8B8

x0y240_w640h240_B8

Image with alpha
Test result for Surface_clip::x0y240_w640h240_B8
Image as seen on display
No alpha test result for Surface_clip::x0y240_w640h240_B8

x0y240_w640h240_G8B8

Image with alpha
Test result for Surface_clip::x0y240_w640h240_G8B8
Image as seen on display
No alpha test result for Surface_clip::x0y240_w640h240_G8B8

x16y8_w512h384

Configures the backbuffer as R5G6B5 and sets the clip region to 16,8 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x16y8_w512h384
Image as seen on display
No alpha test result for Surface_clip::x16y8_w512h384

x16y8_w512h384_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 16,8 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::x16y8_w512h384_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x16y8_w512h384_A8R8G8B8

x16y8_w512h384_B8

Image with alpha
Test result for Surface_clip::x16y8_w512h384_B8
Image as seen on display
No alpha test result for Surface_clip::x16y8_w512h384_B8

x16y8_w512h384_G8B8

Image with alpha
Test result for Surface_clip::x16y8_w512h384_G8B8
Image as seen on display
No alpha test result for Surface_clip::x16y8_w512h384_G8B8

x320y240_w320h240

Configures the backbuffer as R5G6B5 and sets the clip region to 320,240 320x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x320y240_w320h240
Image as seen on display
No alpha test result for Surface_clip::x320y240_w320h240

x320y240_w320h240_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 320,240 320x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::x320y240_w320h240_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x320y240_w320h240_A8R8G8B8

x320y240_w320h240_B8

Image with alpha
Test result for Surface_clip::x320y240_w320h240_B8
Image as seen on display
No alpha test result for Surface_clip::x320y240_w320h240_B8

x320y240_w320h240_G8B8

Image with alpha
Test result for Surface_clip::x320y240_w320h240_G8B8
Image as seen on display
No alpha test result for Surface_clip::x320y240_w320h240_G8B8

x8y16_w632h464

Configures the backbuffer as R5G6B5 and sets the clip region to 8,16 632x464, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.

Image with alpha
Test result for Surface_clip::x8y16_w632h464
Image as seen on display
No alpha test result for Surface_clip::x8y16_w632h464

x8y16_w632h464_A8R8G8B8

Configures the backbuffer as A8R8G8B8 and sets the clip region to 8,16 632x464, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. No red should be seen, and the light green quads should be fully visible.

Image with alpha
Test result for Surface_clip::x8y16_w632h464_A8R8G8B8
Image as seen on display
No alpha test result for Surface_clip::x8y16_w632h464_A8R8G8B8

x8y16_w632h464_B8

Image with alpha
Test result for Surface_clip::x8y16_w632h464_B8
Image as seen on display
No alpha test result for Surface_clip::x8y16_w632h464_B8

x8y16_w632h464_G8B8

Image with alpha
Test result for Surface_clip::x8y16_w632h464_G8B8
Image as seen on display
No alpha test result for Surface_clip::x8y16_w632h464_G8B8

XemuBug420

Reproduction case for xemu#420. A 32-bit surface is created, then immediately changed to a 16-bit one, followed by a region clear. This caused an assertion in versions before xemu#919

Image with alpha
Test result for Surface_clip::XemuBug420
Image as seen on display
No alpha test result for Surface_clip::XemuBug420