Fixed bugs in lazy shader compilation.
This commit is contained in:
@@ -65,7 +65,7 @@ std::optional<mesh_batch_renderer::id_type> mesh_batch_renderer::add(
|
||||
|
||||
ztu::logger::debug("vertex_comps: %", std::bitset<32>{ static_cast<unsigned long long>(static_cast<int>(vertex_comps)) });
|
||||
ztu::logger::debug("material_comps: %", std::bitset<32>{ static_cast<unsigned long long>(static_cast<int>(material_comps)) });
|
||||
ztu::logger::debug("lit reqs: %", std::bitset<32>{ static_cast<unsigned long long>(static_cast<int>(shader_program::capabilities::mesh::lit.uniforms)) });
|
||||
ztu::logger::debug("lit reqs: %", std::bitset<32>{ static_cast<unsigned long long>(static_cast<int>(shader_program::features::mesh::lit.uniforms)) });
|
||||
|
||||
|
||||
for (std::size_t i{}; i != requirements::mesh::all.size(); ++i)
|
||||
|
||||
@@ -19,7 +19,7 @@ void mesh_lookup::add(
|
||||
std::optional<zgl::shader_program_handle> mesh_lookup::find(
|
||||
requirements::mesh::flags requirements
|
||||
) const {
|
||||
auto capability = shader_program::capabilities::mesh::type{};
|
||||
auto capability = shader_program::features::mesh::type{};
|
||||
|
||||
auto index = std::size_t{};
|
||||
|
||||
@@ -30,7 +30,7 @@ std::optional<zgl::shader_program_handle> mesh_lookup::find(
|
||||
if (requirement_flags & 1)
|
||||
{
|
||||
const auto shader_requirements_index = requirements::mesh::all[index].shader_program_requirement_index;
|
||||
const auto& [ attributes, uniforms ] = shader_program::capabilities::mesh::all[shader_requirements_index];
|
||||
const auto& [ attributes, uniforms ] = shader_program::features::mesh::all[shader_requirements_index];
|
||||
capability.attributes |= attributes;
|
||||
capability.uniforms |= uniforms;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ void point_cloud_lookup::add(
|
||||
std::optional<zgl::shader_program_handle> point_cloud_lookup::find(
|
||||
requirements::point_cloud::flags requirements
|
||||
) const {
|
||||
auto capability = shader_program::capabilities::point_cloud::type{};
|
||||
auto capability = shader_program::features::point_cloud::type{};
|
||||
|
||||
auto index = std::size_t{};
|
||||
|
||||
@@ -28,7 +28,7 @@ std::optional<zgl::shader_program_handle> point_cloud_lookup::find(
|
||||
if (requirement_flags & 1)
|
||||
{
|
||||
const auto shader_requirements_index = requirements::point_cloud::all[index].shader_program_requirement_index;
|
||||
const auto& [ attributes, uniforms ] = shader_program::capabilities::point_cloud::all[shader_requirements_index];
|
||||
const auto& [ attributes, uniforms ] = shader_program::features::point_cloud::all[shader_requirements_index];
|
||||
capability.attributes |= attributes;
|
||||
capability.uniforms |= uniforms;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user