Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/intern/gpu_platform_private.hh
- This file was copied from source/blender/gpu/intern/gpu_vertex_format_private.h.
| /* | /* | ||||
| * This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU General Public License | * modify it under the terms of the GNU General Public License | ||||
| * as published by the Free Software Foundation; either version 2 | * as published by the Free Software Foundation; either version 2 | ||||
| * of the License, or (at your option) any later version. | * of the License, or (at your option) any later version. | ||||
| * | * | ||||
| * This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | ||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
| * GNU General Public License for more details. | * GNU General Public License for more details. | ||||
| * | * | ||||
| * You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
| * along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
| * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
| * | * | ||||
| * The Original Code is Copyright (C) 2016 by Mike Erwin. | * Copyright 2020, Blender Foundation. | ||||
| * All rights reserved. | * All rights reserved. | ||||
| */ | */ | ||||
| /** \file | /** \file | ||||
| * \ingroup gpu | * \ingroup gpu | ||||
| * | |||||
| * GPU vertex format | |||||
| */ | */ | ||||
| #pragma once | #pragma once | ||||
| #ifdef __cplusplus | #include "GPU_platform.h" | ||||
| extern "C" { | |||||
| #endif | namespace blender::gpu { | ||||
| void VertexFormat_pack(GPUVertFormat *format); | class GPUPlatformGlobal { | ||||
| uint padding(uint offset, uint alignment); | public: | ||||
| uint vertex_buffer_size(const GPUVertFormat *format, uint vertex_len); | bool initialized = false; | ||||
| GLenum convert_comp_type_to_gl(GPUVertCompType type); | eGPUDeviceType device; | ||||
| eGPUOSType os; | |||||
| #ifdef __cplusplus | eGPUDriverType driver; | ||||
| } | eGPUSupportLevel support_level; | ||||
| #endif | char *support_key = nullptr; | ||||
| char *gpu_name = nullptr; | |||||
| public: | |||||
| void create_key(eGPUSupportLevel support_level, | |||||
| const char *vendor, | |||||
| const char *renderer, | |||||
| const char *version); | |||||
| void create_gpu_name(const char *vendor, const char *renderer, const char *version); | |||||
| void clear(void); | |||||
| }; | |||||
| extern GPUPlatformGlobal GPG; | |||||
| } // namespace blender::gpu | |||||
| No newline at end of file | |||||