@@ -422,8 +422,7 @@ void software_thread_destroy(void* udata) {
422422 // release buffers
423423 SDL_ReleaseGPUBuffer (ctx->device , ctx->vertex_buffer );
424424 SDL_ReleaseGPUBuffer (ctx->device , ctx->index_buffer );
425- SDL_ReleaseGPUSampler (ctx->device , ctx->sampler [0 ]);
426- SDL_ReleaseGPUSampler (ctx->device , ctx->sampler [1 ]);
425+ SDL_ReleaseGPUSampler (ctx->device , ctx->sampler );
427426
428427 if (ctx->texture ) SDL_ReleaseGPUTexture (ctx->device , ctx->texture );
429428
@@ -1529,26 +1528,16 @@ void software_thread_init(void* udata, struct ps2_gs* gs, SDL_Window* window, SD
15291528
15301529 ctx->index_buffer = SDL_CreateGPUBuffer (device, &ibci);
15311530
1532- SDL_GPUSamplerCreateInfo nearest_sci = {
1533- .min_filter = SDL_GPU_FILTER_NEAREST,
1534- .mag_filter = SDL_GPU_FILTER_NEAREST,
1531+ SDL_GPUSamplerCreateInfo sci = {
1532+ .min_filter = ctx-> bilinear ? SDL_GPU_FILTER_LINEAR : SDL_GPU_FILTER_NEAREST,
1533+ .mag_filter = ctx-> bilinear ? SDL_GPU_FILTER_LINEAR : SDL_GPU_FILTER_NEAREST,
15351534 .mipmap_mode = SDL_GPU_SAMPLERMIPMAPMODE_NEAREST,
15361535 .address_mode_u = SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
15371536 .address_mode_v = SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
15381537 .address_mode_w = SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
15391538 };
15401539
1541- SDL_GPUSamplerCreateInfo linear_sci = {
1542- .min_filter = SDL_GPU_FILTER_LINEAR,
1543- .mag_filter = SDL_GPU_FILTER_LINEAR,
1544- .mipmap_mode = SDL_GPU_SAMPLERMIPMAPMODE_NEAREST,
1545- .address_mode_u = SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
1546- .address_mode_v = SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
1547- .address_mode_w = SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
1548- };
1549-
1550- ctx->sampler [0 ] = SDL_CreateGPUSampler (ctx->device , &nearest_sci);
1551- ctx->sampler [1 ] = SDL_CreateGPUSampler (ctx->device , &linear_sci);
1540+ ctx->sampler = SDL_CreateGPUSampler (ctx->device , &sci);
15521541}
15531542
15541543static inline void software_thread_vram_blit (struct ps2_gs * gs, software_thread_state* ctx) {
@@ -2833,7 +2822,7 @@ void software_thread_render(void* udata, SDL_GPUCommandBuffer* command_buffer, S
28332822
28342823 SDL_GPUTextureSamplerBinding tsb = {
28352824 .texture = ctx->texture ,
2836- .sampler = ctx->bilinear ? ctx-> sampler [ 1 ] : ctx-> sampler [ 0 ] ,
2825+ .sampler = ctx->sampler ,
28372826 };
28382827
28392828 SDL_BindGPUFragmentSamplers (render_pass, 0 , &tsb, 1 );
0 commit comments