mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 21:12:43 +00:00 
			
		
		
		
	 bb28492af0
			
		
	
	
		bb28492af0
		
	
	
	
	
		
			
			Same as with inputs, we define outputs as a generic array of floats. This can later be expanded to accomodate multiple render targets or vertex attributes in the case of a vertex shader.
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Stephan Unverwerth <s.unverwerth@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <LibGPU/Config.h>
 | |
| 
 | |
| #define INCREASE_STATISTICS_COUNTER(stat, n)     \
 | |
|     do {                                         \
 | |
|         if constexpr (ENABLE_STATISTICS_OVERLAY) \
 | |
|             stat += (n);                         \
 | |
|     } while (0)
 | |
| 
 | |
| namespace SoftGPU {
 | |
| 
 | |
| static constexpr bool ENABLE_STATISTICS_OVERLAY = false;
 | |
| static constexpr int MILLISECONDS_PER_STATISTICS_PERIOD = 500;
 | |
| static constexpr int NUM_LIGHTS = 8;
 | |
| static constexpr int MAX_CLIP_PLANES = 6;
 | |
| static constexpr int MAX_TEXTURE_SIZE = 2048;
 | |
| static constexpr float MAX_TEXTURE_LOD_BIAS = 2.f;
 | |
| static constexpr int SUBPIXEL_BITS = 4;
 | |
| 
 | |
| static constexpr int NUM_SHADER_INPUTS = 64;
 | |
| 
 | |
| // Verify that we have enough inputs to hold vertex color and texture coordinates for all fixed function texture units
 | |
| static_assert(NUM_SHADER_INPUTS >= 4 + GPU::NUM_TEXTURE_UNITS * 4);
 | |
| 
 | |
| static constexpr int SHADER_INPUT_VERTEX_COLOR = 0;
 | |
| static constexpr int SHADER_INPUT_FIRST_TEXCOORD = 4;
 | |
| 
 | |
| static constexpr int NUM_SHADER_OUTPUTS = 4;
 | |
| 
 | |
| // Verify that we have enough outputs to hold the fragment's color
 | |
| static_assert(NUM_SHADER_OUTPUTS >= 4);
 | |
| 
 | |
| static constexpr int SHADER_OUTPUT_FIRST_COLOR = 0;
 | |
| 
 | |
| // See: https://www.khronos.org/opengl/wiki/Common_Mistakes#Texture_edge_color_problem
 | |
| // FIXME: make this dynamically configurable through ConfigServer
 | |
| static constexpr bool CLAMP_DEPRECATED_BEHAVIOR = false;
 | |
| 
 | |
| }
 |