mirror of
https://github.com/Yours3lf/rpi-vk-driver.git
synced 2024-11-29 11:24:14 +01:00
fixed more of thread switch detection
This commit is contained in:
parent
16751c4dad
commit
6dc7a85aa2
@ -119,11 +119,11 @@ typedef enum {
|
||||
static const char *qpu_sig_bits_str[] = {
|
||||
[QPU_SIG_SW_BREAKPOINT] = "sig_brk",
|
||||
[QPU_SIG_NONE] = "sig_none",
|
||||
[QPU_SIG_THREAD_SWITCH] = "sig_switch",
|
||||
[QPU_SIG_THREAD_SWITCH] = "sig_thread_switch",
|
||||
[QPU_SIG_PROG_END] = "sig_end",
|
||||
[QPU_SIG_WAIT_FOR_SCOREBOARD] = "sig_wait_score",
|
||||
[QPU_SIG_SCOREBOARD_UNLOCK] = "sig_unlock_score",
|
||||
[QPU_SIG_LAST_THREAD_SWITCH] = "sig_thread_switch",
|
||||
[QPU_SIG_LAST_THREAD_SWITCH] = "sig_last_thread_switch",
|
||||
[QPU_SIG_COVERAGE_LOAD] = "sig_coverage_load",
|
||||
[QPU_SIG_COLOR_LOAD] = "sig_color_load",
|
||||
[QPU_SIG_COLOR_LOAD_END] = "sig_color_load_end",
|
||||
|
@ -51,15 +51,16 @@ VkResult vkCreateShaderModuleFromRpiAssemblyEXT(VkDevice device, VkRpiShaderModu
|
||||
shader->bos[c] = vc4_bo_alloc_shader(controlFd, instructions, &size);
|
||||
|
||||
//TODO if debug...
|
||||
for(uint64_t c = 0; c < numInstructions; ++c)
|
||||
for(uint64_t d = 0; d < numInstructions; ++d)
|
||||
{
|
||||
printf("%#llx ", instructions[c]);
|
||||
disassemble_qpu_asm(instructions[c]);
|
||||
printf("%#llx ", instructions[d]);
|
||||
disassemble_qpu_asm(instructions[d]);
|
||||
}
|
||||
|
||||
for(uint64_t c = 0; c < numInstructions; ++c)
|
||||
for(uint64_t d = 0; d < numInstructions; ++d)
|
||||
{
|
||||
if((instructions[c] & (0xfll << 60)) == (2ll << 60))
|
||||
uint64_t s = (instructions[d] & (0xfll << 60)) >> 60;
|
||||
if(s == 2ll)
|
||||
{
|
||||
shader->hasThreadSwitch = 1;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user