18 uint32_t blit_operation;
19 uint32_t buffer_color_format;
31 void TestWithClipRectangle(
const BlitTest& test, uint32_t clip_x, uint32_t clip_y, int32_t clip_w, int32_t clip_h);
32 void TestBlitOverPushbuffer(
const std::string& name,
const BlitTest& test);
33 void TestBlitPastWidth(
const std::string& name);
34 enum class OverlapCorner { TopLeft, TopRight, BottomLeft, BottomRight };
35 void TestOverlapBarelyInclusive(
const std::string& name, OverlapCorner corner,
bool overlap);
37 void ImageBlit(uint32_t operation, uint32_t beta, uint32_t source_channel, uint32_t destination_channel,
38 uint32_t surface_format, uint32_t source_pitch, uint32_t destination_pitch, uint32_t source_offset,
39 uint32_t source_x, uint32_t source_y, uint32_t destination_offset, uint32_t destination_x,
40 uint32_t destination_y, uint32_t width, uint32_t height, uint32_t clip_x = 0, uint32_t clip_y = 0,
41 int32_t clip_width = -1, int32_t clip_height = -1)
const;
43 void ImageBlitWithinPushBlock(uint32_t operation, uint32_t beta, uint32_t source_channel,
44 uint32_t destination_channel, uint32_t surface_format, uint32_t source_pitch,
45 uint32_t destination_pitch, uint32_t source_offset, uint32_t source_x,
46 uint32_t source_y, uint32_t destination_offset, uint32_t destination_x,
47 uint32_t destination_y, uint32_t width, uint32_t height, uint32_t clip_x,
48 uint32_t clip_y, int32_t clip_width, int32_t clip_height)
const;
50 void TestDirtyOverlappedDestinationSurface();
54 void TestBlitRenderBlit();
56 uint32_t image_pitch_{0};
57 uint32_t image_width_{0};
58 uint32_t image_height_{0};
59 uint8_t* source_image_{
nullptr};
61 struct s_CtxDma null_ctx_{};
62 struct s_CtxDma image_src_dma_ctx_{};
63 struct s_CtxDma clip_rect_ctx_{};
64 struct s_CtxDma beta_ctx_{};
65 struct s_CtxDma beta4_ctx_{};
66 struct s_CtxDma render_target_dma_ctx_{};