gl_shader_disk_cache: Address feedback
This commit is contained in:
		
							parent
							
								
									b8b05a484a
								
							
						
					
					
						commit
						0b6df52109
					
				@ -285,18 +285,20 @@ std::optional<ShaderDiskCacheDecompiled> ShaderDiskCacheOpenGL::LoadDecompiledEn
 | 
			
		||||
    if (!LoadObjectFromPrecompiled(code_size)) {
 | 
			
		||||
        return {};
 | 
			
		||||
    }
 | 
			
		||||
    std::vector<u8> code(code_size);
 | 
			
		||||
 | 
			
		||||
    std::string code(code_size, '\0');
 | 
			
		||||
    if (!LoadArrayFromPrecompiled(code.data(), code.size())) {
 | 
			
		||||
        return {};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ShaderDiskCacheDecompiled entry;
 | 
			
		||||
    entry.code = std::string(reinterpret_cast<const char*>(code.data()), code_size);
 | 
			
		||||
    entry.code = std::move(code);
 | 
			
		||||
 | 
			
		||||
    u32 const_buffers_count{};
 | 
			
		||||
    if (!LoadObjectFromPrecompiled(const_buffers_count)) {
 | 
			
		||||
        return {};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (u32 i = 0; i < const_buffers_count; ++i) {
 | 
			
		||||
        u32 max_offset{};
 | 
			
		||||
        u32 index{};
 | 
			
		||||
@ -312,6 +314,7 @@ std::optional<ShaderDiskCacheDecompiled> ShaderDiskCacheOpenGL::LoadDecompiledEn
 | 
			
		||||
    if (!LoadObjectFromPrecompiled(samplers_count)) {
 | 
			
		||||
        return {};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (u32 i = 0; i < samplers_count; ++i) {
 | 
			
		||||
        u64 offset{};
 | 
			
		||||
        u64 index{};
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include <bitset>
 | 
			
		||||
#include <optional>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <tuple>
 | 
			
		||||
@ -93,7 +94,7 @@ namespace std {
 | 
			
		||||
 | 
			
		||||
template <>
 | 
			
		||||
struct hash<OpenGL::BaseBindings> {
 | 
			
		||||
    std::size_t operator()(const OpenGL::BaseBindings& bindings) const {
 | 
			
		||||
    std::size_t operator()(const OpenGL::BaseBindings& bindings) const noexcept {
 | 
			
		||||
        return static_cast<std::size_t>(bindings.cbuf) ^
 | 
			
		||||
               (static_cast<std::size_t>(bindings.gmem) << 8) ^
 | 
			
		||||
               (static_cast<std::size_t>(bindings.sampler) << 16) ^
 | 
			
		||||
@ -103,7 +104,7 @@ struct hash<OpenGL::BaseBindings> {
 | 
			
		||||
 | 
			
		||||
template <>
 | 
			
		||||
struct hash<OpenGL::ProgramVariant> {
 | 
			
		||||
    std::size_t operator()(const OpenGL::ProgramVariant& variant) const {
 | 
			
		||||
    std::size_t operator()(const OpenGL::ProgramVariant& variant) const noexcept {
 | 
			
		||||
        return std::hash<OpenGL::BaseBindings>()(variant.base_bindings) ^
 | 
			
		||||
               std::hash<OpenGL::TextureBufferUsage>()(variant.texture_buffer_usage) ^
 | 
			
		||||
               (static_cast<std::size_t>(variant.primitive_mode) << 6);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user