| 
									
										
										
										
											2015-05-24 06:55:12 +02:00
										 |  |  | // Copyright 2008 Dolphin Emulator Project
 | 
					
						
							| 
									
										
										
										
											2015-05-18 01:08:10 +02:00
										 |  |  | // Licensed under GPLv2+
 | 
					
						
							| 
									
										
										
										
											2013-04-17 23:29:41 -04:00
										 |  |  | // Refer to the license.txt file included.
 | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-10 13:54:46 -05:00
										 |  |  | #pragma once
 | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-24 05:16:52 -04:00
										 |  |  | #include "Common/CommonTypes.h"
 | 
					
						
							| 
									
										
										
										
											2014-07-29 20:55:07 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct OutputVertexData; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace Rasterizer | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  | void Init(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-22 20:39:28 -04:00
										 |  |  | void DrawTriangleFrontFace(const OutputVertexData* v0, const OutputVertexData* v1, | 
					
						
							|  |  |  |                            const OutputVertexData* v2); | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | void SetTevReg(int reg, int comp, s16 color); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct Slope | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   float dfdx; | 
					
						
							|  |  |  |   float dfdy; | 
					
						
							|  |  |  |   float f0; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-22 20:39:28 -04:00
										 |  |  |   float GetValue(float dx, float dy) const { return f0 + (dfdx * dx) + (dfdy * dy); } | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct RasterBlockPixel | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   float InvW; | 
					
						
							|  |  |  |   float Uv[8][2]; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct RasterBlock | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   RasterBlockPixel Pixel[2][2]; | 
					
						
							|  |  |  |   s32 IndirectLod[4]; | 
					
						
							|  |  |  |   bool IndirectLinear[4]; | 
					
						
							|  |  |  |   s32 TextureLod[16]; | 
					
						
							|  |  |  |   bool TextureLinear[16]; | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | } |