Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)

To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
This commit is contained in:
Konstantin Pastbin
2025-04-13 16:37:30 +07:00
commit e3e4a1985a
12931 changed files with 13195100 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
#include "shaders/metal_program_params.hpp"
#include "drape/metal/metal_base_context.hpp"
namespace gpu
{
namespace metal
{
namespace
{
template<typename T>
void ApplyBytes(ref_ptr<dp::GraphicsContext> context, ref_ptr<dp::GpuProgram> program,
T const & params)
{
ref_ptr<dp::metal::MetalGpuProgram> p = program;
ref_ptr<dp::metal::MetalBaseContext> metalContext = context;
id<MTLRenderCommandEncoder> encoder = metalContext->GetCommandEncoder();
auto const vsBindingIndex = p->GetVertexShaderUniformsBindingIndex();
if (vsBindingIndex >= 0)
{
[encoder setVertexBytes:(void const *)&params length:sizeof(params)
atIndex:vsBindingIndex];
}
auto const fsBindingIndex = p->GetFragmentShaderUniformsBindingIndex();
if (fsBindingIndex >= 0)
{
[encoder setFragmentBytes:(void const *)&params length:sizeof(params)
atIndex:fsBindingIndex];
}
}
} // namespace
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
MapProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
RouteProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
TrafficProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
TransitProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
GuiProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
ShapesProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
Arrow3dProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
DebugRectProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
ScreenQuadProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
SMAAProgramParams const & params)
{
ApplyBytes(context, program, params);
}
void MetalProgramParamsSetter::Apply(ref_ptr<dp::GraphicsContext> context,
ref_ptr<dp::GpuProgram> program,
ImGuiProgramParams const & params)
{
ApplyBytes(context, program, params);
}
} // namespace metal
} // namespace gpu