1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-23 11:13:19 +01:00

rsx: Bump shader cache ver and fix blit engine crash

- Disables blit operations if the target will have a size of 0 in any dimension
- Bumps shader cache ver to 1.1
This commit is contained in:
kd-11 2017-11-08 13:40:19 +03:00
parent ed21bb309f
commit b2a7eee1ec
3 changed files with 8 additions and 2 deletions

View File

@ -24,7 +24,7 @@ namespace
GLGSRender::GLGSRender() : GSRender() GLGSRender::GLGSRender() : GSRender()
{ {
m_shaders_cache.reset(new gl::shader_cache(m_prog_buffer, "opengl", "v1")); m_shaders_cache.reset(new gl::shader_cache(m_prog_buffer, "opengl", "v1.1"));
if (g_cfg.video.disable_vertex_cache) if (g_cfg.video.disable_vertex_cache)
m_vertex_cache.reset(new gl::null_vertex_cache()); m_vertex_cache.reset(new gl::null_vertex_cache());

View File

@ -623,7 +623,7 @@ VKGSRender::VKGSRender() : GSRender()
else else
m_vertex_cache.reset(new vk::weak_vertex_cache()); m_vertex_cache.reset(new vk::weak_vertex_cache());
m_shaders_cache.reset(new vk::shader_cache(*m_prog_buffer.get(), "vulkan", "v1")); m_shaders_cache.reset(new vk::shader_cache(*m_prog_buffer.get(), "vulkan", "v1.1"));
open_command_buffer(); open_command_buffer();

View File

@ -636,6 +636,12 @@ namespace rsx
u32 convert_w = (u32)(scale_x * in_w); u32 convert_w = (u32)(scale_x * in_w);
u32 convert_h = (u32)(scale_y * in_h); u32 convert_h = (u32)(scale_y * in_h);
if (convert_w == 0 || convert_h == 0)
{
LOG_ERROR(RSX, "NV3089_IMAGE_IN: Invalid dimensions or scaling factor. Request ignored");
return;
}
u32 slice_h = clip_h; u32 slice_h = clip_h;
blit_src_info src_info = {}; blit_src_info src_info = {};
blit_dst_info dst_info = {}; blit_dst_info dst_info = {};