rsx: Texture cache improvements

- Limits buffer size to min 720 in the Y axis (1024 section causes conflicts in some cases - TODO)
rsx: Fixups to allow large textures for blit operation
- Also includes checks for both leaking sections and blit regions for vulkan
hotfix for hanging when using WCB
addendum - unlock both ro and no blocks before attempting to copy memory blocks
gl: Fixups for ARB_explicit_uniform_location
- Forces glsl v 430 to make use of the extension
rsx/vk: Rework texture cache to minimize recursive access violations
- Also modifies the vulkan commandbuffer begin/end/submit mechanism
gl: Fix cached_texture_section::is_flushable to take memory protection into account
rsx: Fix blit dst offset calculation
This commit is contained in:
kd-11 2017-09-15 01:32:23 +03:00
parent 10e25eb362
commit 571dbfb7b1
11 changed files with 168 additions and 94 deletions

View file

@ -399,7 +399,7 @@ namespace rsx
auto flush_command_queue = [&]()
{
const auto num_draws = method_registers.current_draw_clause.first_count_commands.size();
const auto num_draws = (u32)method_registers.current_draw_clause.first_count_commands.size();
bool emit_begin = false;
bool emit_end = true;
@ -411,7 +411,7 @@ namespace rsx
u32 last = first_counts.front().first;
u32 last_index = 0;
for (size_t draw = 0; draw < num_draws; draw++)
for (u32 draw = 0; draw < num_draws; draw++)
{
if (first_counts[draw].first != last)
{