nxdk_pgraph_tests
A collection of tests for the Xbox nv2a graphics processor
 
Loading...
Searching...
No Matches
texture_framebuffer_blit_tests.h
1#ifndef NXDK_PGRAPH_TESTS_TEXTURE_FRAMEBUFFER_BLIT_TESTS_H
2#define NXDK_PGRAPH_TESTS_TEXTURE_FRAMEBUFFER_BLIT_TESTS_H
3
4#include <pbkit/pbkit.h>
5
6#include "test_host.h"
7#include "test_suite.h"
8
9class TestHost;
10
12 public:
13 TextureFramebufferBlitTests(TestHost& host, std::string output_dir, const Config& config);
14
15 void Initialize() override;
16 void Deinitialize() override;
17
18 private:
19 void CreateGeometry();
20 void TestRenderTarget(const char* test_name);
21 void Test(uint32_t texture_destination, const char* test_name);
22 void ImageBlit(uint32_t operation, uint32_t beta, uint32_t source_channel, uint32_t destination_channel,
23 uint32_t surface_format, uint32_t source_pitch, uint32_t destination_pitch, uint32_t source_offset,
24 uint32_t source_x, uint32_t source_y, uint32_t destination_offset, uint32_t destination_x,
25 uint32_t destination_y, uint32_t width, uint32_t height, uint32_t clip_x, uint32_t clip_y,
26 uint32_t clip_width, uint32_t clip_height) const;
27
28 // The geometry used to create the texture.
29 std::shared_ptr<VertexBuffer> texture_source_vertex_buffer_;
30
31 // The bi-triangle used to render the texture to the final framebuffer.
32 std::shared_ptr<VertexBuffer> target_vertex_buffer_;
33
34 struct s_CtxDma texture_target_ctx_{};
35 struct s_CtxDma null_ctx_{};
36 struct s_CtxDma clip_rect_ctx_{};
37 struct s_CtxDma beta_ctx_{};
38 struct s_CtxDma beta4_ctx_{};
39};
40
41#endif // NXDK_PGRAPH_TESTS_TEXTURE_FRAMEBUFFER_BLIT_TESTS_H
Definition test_host.h:47
Definition test_suite.h:20
Definition texture_framebuffer_blit_tests.h:11
void Deinitialize() override
Called to tear down the test suite.
Definition texture_framebuffer_blit_tests.cpp:95
void Initialize() override
Called to initialize the test suite.
Definition texture_framebuffer_blit_tests.cpp:57
Runtime configuration for TestSuites.
Definition test_suite.h:23