mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-29 01:20:28 +00:00
D3D scissoring, skip texture stages and some warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2616 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
feb670044e
commit
c7a45ecf95
@ -339,8 +339,14 @@ void Renderer::SetViewport(float* _Viewport)
|
|||||||
|
|
||||||
void Renderer::SetScissorRect()
|
void Renderer::SetScissorRect()
|
||||||
{
|
{
|
||||||
/*
|
int xoff = bpmem.scissorOffset.x * 2 - 342;
|
||||||
RECT rc = {0,0,0,0}; // FIXX
|
int yoff = bpmem.scissorOffset.y * 2 - 342;
|
||||||
|
RECT rc;
|
||||||
|
rc.left = (int)((float)bpmem.scissorTL.x - xoff - 342);
|
||||||
|
rc.top = (int)((float)bpmem.scissorTL.y - yoff - 342);
|
||||||
|
rc.right = (int)((float)bpmem.scissorBR.x - xoff - 341);
|
||||||
|
rc.bottom = (int)((float)bpmem.scissorBR.y - yoff - 341);
|
||||||
|
|
||||||
rc.left = (int)(rc.left * xScale);
|
rc.left = (int)(rc.left * xScale);
|
||||||
rc.top = (int)(rc.top * yScale);
|
rc.top = (int)(rc.top * yScale);
|
||||||
rc.right = (int)(rc.right * xScale);
|
rc.right = (int)(rc.right * xScale);
|
||||||
@ -348,7 +354,7 @@ void Renderer::SetScissorRect()
|
|||||||
if (rc.right >= rc.left && rc.bottom >= rc.top)
|
if (rc.right >= rc.left && rc.bottom >= rc.top)
|
||||||
D3D::dev->SetScissorRect(&rc);
|
D3D::dev->SetScissorRect(&rc);
|
||||||
else
|
else
|
||||||
g_VideoInitialize.pLog("SCISSOR ERROR", FALSE);*/
|
g_VideoInitialize.pLog("SCISSOR ERROR", FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -456,6 +462,7 @@ void Renderer::SetSamplerState(DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Va
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Called from VertexShaderManager
|
// Called from VertexShaderManager
|
||||||
void UpdateViewport()
|
void UpdateViewport()
|
||||||
{
|
{
|
||||||
|
@ -199,8 +199,7 @@ void Flush()
|
|||||||
u32 nonpow2tex = 0;
|
u32 nonpow2tex = 0;
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
// if (usedtextures & (1 << i)) {
|
if (usedtextures & (1 << i)) {
|
||||||
{
|
|
||||||
FourTexUnits &tex = bpmem.tex[i >> 2];
|
FourTexUnits &tex = bpmem.tex[i >> 2];
|
||||||
TextureCache::TCacheEntry* tentry = TextureCache::Load(i,
|
TextureCache::TCacheEntry* tentry = TextureCache::Load(i,
|
||||||
(tex.texImage3[i&3].image_base/* & 0x1FFFFF*/) << 5,
|
(tex.texImage3[i&3].image_base/* & 0x1FFFFF*/) << 5,
|
||||||
@ -235,11 +234,11 @@ void Flush()
|
|||||||
{
|
{
|
||||||
PixelShaderCache::SetShader(); // TODO(ector): only do this if shader has changed
|
PixelShaderCache::SetShader(); // TODO(ector): only do this if shader has changed
|
||||||
VertexShaderCache::SetShader(g_nativeVertexFmt->m_components); // TODO(ector): only do this if shader has changed
|
VertexShaderCache::SetShader(g_nativeVertexFmt->m_components); // TODO(ector): only do this if shader has changed
|
||||||
|
|
||||||
// set global constants
|
// set global constants
|
||||||
VertexShaderManager::SetConstants(false);
|
VertexShaderManager::SetConstants(false);
|
||||||
PixelShaderManager::SetConstants();
|
PixelShaderManager::SetConstants();
|
||||||
|
|
||||||
int stride = g_nativeVertexFmt->GetVertexStride();
|
int stride = g_nativeVertexFmt->GetVertexStride();
|
||||||
g_nativeVertexFmt->SetupVertexPointers();
|
g_nativeVertexFmt->SetupVertexPointers();
|
||||||
if (collection != C_POINTS)
|
if (collection != C_POINTS)
|
||||||
|
@ -44,7 +44,6 @@ void SetVSConstant4fv(int const_number, const float *f)
|
|||||||
D3D::dev->SetVertexShaderConstantF(const_number, f, 1);
|
D3D::dev->SetVertexShaderConstantF(const_number, f, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void VertexShaderCache::Init()
|
void VertexShaderCache::Init()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -88,7 +87,7 @@ void VertexShaderCache::SetShader(u32 components)
|
|||||||
|
|
||||||
bool HLSL = false;
|
bool HLSL = false;
|
||||||
const char *code = GenerateVertexShader(components, false);
|
const char *code = GenerateVertexShader(components, false);
|
||||||
LPDIRECT3DVERTEXSHADER9 shader = HLSL ? D3D::CompileVertexShader(code, strlen(code), false) : CompileCgShader(code);
|
LPDIRECT3DVERTEXSHADER9 shader = HLSL ? D3D::CompileVertexShader(code, (int)strlen(code), false) : CompileCgShader(code);
|
||||||
if (shader)
|
if (shader)
|
||||||
{
|
{
|
||||||
// Make an entry in the table
|
// Make an entry in the table
|
||||||
|
Loading…
x
Reference in New Issue
Block a user