14TEST(VulkanDataConversion, clamp_negative_to_zero)
16 const uint32_t f32_2 = 0b11000000000000000000000000000000;
17 const uint32_t f32_inf_min = 0b11111111100000000000000000000000;
18 const uint32_t f32_inf_max = 0b01111111100000000000000000000000;
19 const uint32_t f32_nan = 0b11111111111111111111111111111111;
22 const uint32_t f11_0_expected = 0b00000000000;
23 const uint32_t f11_2_expected = 0b10000000000;
24 const uint32_t f11_inf_expected = 0b11111000000;
25 const uint32_t f11_nan_expected = 0b11111111111;
50TEST(VulkanDataConversion, infinity_upper)
52 const uint32_t f32_inf = 0b01111111100000000000000000000000;
54 const uint32_t f11_inf_expected = 0b11111000000;
58 const uint32_t f10_inf_expected = 0b1111100000;
63TEST(VulkanDataConversion, texture_rgb16f_as_floats_to_rgba16f)
65 const size_t num_pixels = 4;
66 const float input[] = {
89 TextureFormat::SFLOAT_16_16_16,
90 TextureFormat::SFLOAT_16_16_16_16);
92 float read_back[num_pixels * 3];
97 TextureFormat::SFLOAT_16_16_16,
98 TextureFormat::SFLOAT_16_16_16_16);
101 EXPECT_NEAR(
input[
i], read_back[
i], 0.01);
105TEST(VulkanDataConversion, texture_rgb32f_as_floats_to_rgba32f)
107 const size_t num_pixels = 4;
108 const float input[] = {
126 float device[num_pixels * 4];
131 TextureFormat::SFLOAT_32_32_32,
132 TextureFormat::SFLOAT_32_32_32_32);
134 float read_back[num_pixels * 3];
139 TextureFormat::SFLOAT_32_32_32,
140 TextureFormat::SFLOAT_32_32_32_32);
143 EXPECT_NEAR(
input[
i], read_back[
i], 0.01);
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
void convert_host_to_device(void *dst_buffer, const void *src_buffer, size_t buffer_size, eGPUDataFormat host_format, TextureFormat host_texture_format, TextureFormat device_format)
void convert_device_to_host(void *dst_buffer, const void *src_buffer, size_t buffer_size, eGPUDataFormat host_format, TextureFormat host_texture_format, TextureFormat device_format)