forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright 2008 Dolphin Emulator Project
 | 
						|
// Licensed under GPLv2+
 | 
						|
// Refer to the license.txt file included.
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "Common/CommonTypes.h"
 | 
						|
#include "VideoCommon/ConstantManager.h"
 | 
						|
 | 
						|
class PointerWrap;
 | 
						|
 | 
						|
// The non-API dependent parts.
 | 
						|
class PixelShaderManager
 | 
						|
{
 | 
						|
public:
 | 
						|
  static void Init();
 | 
						|
  static void Dirty();
 | 
						|
  static void DoState(PointerWrap& p);
 | 
						|
 | 
						|
  static void SetConstants();  // sets pixel shader constants
 | 
						|
 | 
						|
  // constant management
 | 
						|
  // Some of these functions grab the constant values from global state,
 | 
						|
  // so make sure to call them after memory is committed
 | 
						|
  static void SetTevColor(int index, int component, s32 value);
 | 
						|
  static void SetTevKonstColor(int index, int component, s32 value);
 | 
						|
  static void SetTevOrder(int index, u32 order);
 | 
						|
  static void SetTevKSel(int index, u32 ksel);
 | 
						|
  static void SetTevCombiner(int index, int alpha, u32 combiner);
 | 
						|
  static void SetAlpha();
 | 
						|
  static void SetAlphaTestChanged();
 | 
						|
  static void SetDestAlphaChanged();
 | 
						|
  static void SetTexDims(int texmapid, u32 width, u32 height);
 | 
						|
  static void SetZTextureBias();
 | 
						|
  static void SetViewportChanged();
 | 
						|
  static void SetEfbScaleChanged(float scalex, float scaley);
 | 
						|
  static void SetZSlope(float dfdx, float dfdy, float f0);
 | 
						|
  static void SetIndMatrixChanged(int matrixidx);
 | 
						|
  static void SetTevIndirectChanged();
 | 
						|
  static void SetZTextureTypeChanged();
 | 
						|
  static void SetZTextureOpChanged();
 | 
						|
  static void SetIndTexScaleChanged(bool high);
 | 
						|
  static void SetTexCoordChanged(u8 texmapid);
 | 
						|
  static void SetFogColorChanged();
 | 
						|
  static void SetFogParamChanged();
 | 
						|
  static void SetFogRangeAdjustChanged();
 | 
						|
  static void SetGenModeChanged();
 | 
						|
  static void SetZModeControl();
 | 
						|
  static void SetBlendModeChanged();
 | 
						|
  static void SetBoundingBoxActive(bool active);
 | 
						|
 | 
						|
  static PixelShaderConstants constants;
 | 
						|
  static bool dirty;
 | 
						|
 | 
						|
  static bool s_bFogRangeAdjustChanged;
 | 
						|
  static bool s_bViewPortChanged;
 | 
						|
  static bool s_bIndirectDirty;
 | 
						|
  static bool s_bDestAlphaDirty;
 | 
						|
};
 |