Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-01-17Revert "Revert "GPUShaderCreateInfo for interface abstraction""Jeroen Bakker
This reverts commit edee5a947b7ea3e1324aa334a22c7c9bbf47f5f7. Fixes compilation error (Missing file BLI_float2.hh)
2022-01-17Revert "GPUShaderCreateInfo for interface abstraction"Jeroen Bakker
This reverts commit 8fb2ff458ba579dba08bfdf57d043ad158b5db07. Missing some files.
2022-01-17GPUShaderCreateInfo for interface abstractionJeroen Bakker
This is a first part of the Shader Create Info system could be. A shader create info provides a way to define shader structure, resources and interfaces. This makes for a quick way to provide backend agnostic binding informations while also making shader variations easy to declare. - Clear source input (only one file). Cleans up the GPU api since we can create a shader from one descriptor - Resources and interfaces are generated by the backend (much simpler than parsing). - Bindings are explicit from position in the array. - GPUShaderInterface becomes a trivial translation of enums and string copy. - No external dependency to third party lib. - Cleaner code, less fragmentation of resources in several libs. - Easy to modify / extend at runtime. - no parser involve, very easy to code. - Does not hold any data, can be static and kept on disc. - Could hold precompiled bytecode for static shaders. This also includes a new global dependency system. GLSL shaders can include other sources by using #pragma BLENDER_REQUIRE(...). This patch already migrated several builtin shaders. Other shaders should be migrated one at a time, and could be done inside master. There is a new compile directive `WITH_GPU_SHADER_BUILDER` this is an optional directive for linting shaders to increase turn around time. What is remaining: - pyGPU API {T94975} - Migration of other shaders. This could be a community effort. Reviewed By: jbakker Maniphest Tasks: T94975 Differential Revision: https://developer.blender.org/D13360
2021-12-09Cleanup: move public doc-strings into headers for 'gpu'Campbell Barton
Ref T92709
2020-09-08GPUImmediate: Make activation / deactivation implicitClément Foucault
This avoids unecessary complexity. Also makes the GPUImmediate threadsafe by using a threadlocal imm variable.
2020-08-20GPUShaderInterface: GL backend isolationClément Foucault
2020-08-20GPU: Use GPUShader setters for uniforms removing uses of ShaderInterfaceClément Foucault
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-06Merge branch 'blender-v2.90-release' into masterCampbell Barton
2020-08-06Fix T79309: Safe Areas are not visibleCampbell Barton
2020-07-30GPUBatch & GPUImmediate: Use GPUShader instead of using raw OGL handleClément Foucault
2020-07-18GPU: Add immBindTexture and immBindTextureSamplerClément Foucault
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-02Cleanup: make remaining gpu headers work in C++Jacques Lucke
2019-04-21Cleanup: comments (long lines) in gpuCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-14Cleanup: doxy commentsCampbell Barton
Use doxy references to function and enums, also correct some names which became out of sync.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.
2019-01-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2018-11-28Cleanup: correct function signaturesCampbell Barton
2018-10-09Cleanup: namingCampbell Barton
- immAttrib* -> immAttr* - immSkipAttrib -> immAttrSkip Term 'attr' is a convention for GPU module.
2018-10-09Cleanup: namingCampbell Barton
2018-07-18Cleanup: style for GPU moduleCampbell Barton
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-18GWN: Port to GPU module: Move files to GPUClément Foucault
This does not include all the struct and type renaming. Only files were renamed. gwn_batch.c/h was fusioned with GPU_batch.c/h gwn_immediate.c/h was fusioned with GPU_immediate.c/h gwn_imm_util.c/h was fusioned with GPU_immediate_util.c/h
2018-04-22Cleanup: trailing spacesCampbell Barton
Applied to newly added files in 2.8
2017-08-15Cleanup: use 'gwn' prefix for gawain filenamesCampbell Barton
Looking up names project wide or setting breakpoints wasn't so. Names like common.h or element.h are also too generic.
2017-04-13Use regular header guards in GPUCampbell Barton
2017-04-05Fix T50976: Blender UI problems with certain theme files.Bastien Montagne
Core of the issue was that some of our Theme colors are RGB-only, but were loaded as RGBA. Note that tracking all possible cases is pretty impossible, so we'll have to tackle those as they get reported am afraid.
2017-03-17move Gawain library to internMike Erwin
Before now it lived in source/blender/gpu for convenience. Only a few files in the gpu module use Gawain directly. Tested on Mac, time to push and test on Windows. Todo: some CMake magic to make it easy to #include "gawain/some_header.h" from any C or H file. Main problem here is the many editors that include GPU_immediate.h which includes Gawain's immediate.h -- is there a way to avoid changing every editor's CMakeLists?
2017-01-16Updating outliner_draw_struct_marks to retained modeMike Erwin
Had to add a few utility functions to replace existing functions. Let me know if these are duplicates. Reviewers: merwin Reviewed By: merwin Tags: #bf_blender_2.8 Maniphest Tasks: T49043 Differential Revision: https://developer.blender.org/D2434
2016-12-14OpenGL: another way to set uniform theme colorMike Erwin
2016-10-17OpenGL: new immUniformThemeColorShadeAlpha functionMike Erwin
Plus some naming cleanup. Supports T49043
2016-10-13more theme color functions: UI_GetThemeColorBlendShade4fv, ↵Dalai Felinto
immUniformThemeColorBlendShade
2016-10-13Fix compiling with BlenderplayerJulian Eisel
2016-10-13gawain/immediate mode: new util functions for color uniformsDalai Felinto
2016-10-10Gawain: add immRect utility functions (replaces legacy glRect)Mike Erwin
Caller is responsible for setting up vertex format, binding a shader program, and setting the color *before* calling immRect.
2016-09-15Extend Gawain to use Blender's built-in shadersMike Erwin
Was already done for immediate mode, but rearranged code to make a clean separation. Cleaned up #includes for code that uses this feature. Added same for batched rendering.
2016-09-13Gawain: reorganize source codeMike Erwin
Put Gawain source code in a subfolder to make the boundary between the library and the rest of Blender clear. Changed Gawain’s license from Apache to Mozilla Public License. Has more essence of copyleft — closer to GPL but not as restrictive. Split immediate.c into several files so parts can be reused (adding more files soon…)
2016-09-06Gawain: add immBeginAtMostMike Erwin
immBegin requires us to know how many vertices will be drawn. Most times this is fine, but sometimes it can be tricky. Do we make the effort to count everything in one pass, then draw it in a second? immBeginAtMost makes this simple. Example: I'll draw at most 100 vertices. Supply only 6 verts and it draws only 6. Any unused space is reclaimed and given to the next immBegin.
2016-08-27Gawain: convenience functions for uniform colorMike Erwin
Application code can pass ubytes, Gawain converts to float vec4 expected by shader. For now the conversion is simple linear. We can add sRGB support later if needed.
2016-08-20Gawain: more immediate mode functionsMike Erwin
Scanned Blender code for commonly used glVertex, glColor functions. Implemented immVertex, immAttrib versions of these to ease transition away from legacy OpenGL.
2016-08-17Gawain: add v functions to immediate modeMike Erwin
Legacy OpenGL has a matching Vertex3fv for every Vertex3f, and so on. Add something similar to Gawain, just for a few common functions. Might add more as the need arises.
2016-08-11Gawain: tweak immediate mode APIMike Erwin
Should be simpler to use now. Made vertex format structure private. New immVertexFormat() function clears and returns the format. Devs can start with add_attrib(format...) and not have to clear it first. immBindProgram automatically packs the vertex format if needed. Updated 3D cursor drawing to use new API.
2016-08-08Gawain: immediate mode set uniforms for active programMike Erwin
Start simple with vec4 uniforms. Add more later.