Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mozangle"
version = "0.7.0"
version = "0.7.1"
authors = ["The ANGLE Project Authors", "The Servo Project Developers"]
license = "BSD-3-Clause"
description = "Mozilla's fork of Google ANGLE, repackaged as a Rust crate."
Expand Down
2 changes: 1 addition & 1 deletion UPSTREAM
Original file line number Diff line number Diff line change
@@ -1 +1 @@
gfx/angle is taken from FIREFOX_153_1_0esr_RELEASE: 468445e58d3acc7e4e059be99856daff1f2ae8f1
gfx/angle is taken from FIREFOX_153_3_0esr_RELEASE: 861fdeb0d32fe1bd101fea886687e680f612d735
10 changes: 10 additions & 0 deletions gfx/angle/checkout/src/libANGLE/renderer/d3d/ProgramD3D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2712,6 +2712,16 @@ void ProgramD3D::defineUniformBase(const gl::Shader *shader,
}

const ShaderD3D *shaderD3D = GetImplAs<ShaderD3D>(shader);

// The uniform ended up as unreferenced during HLSL generation, so it has no register.
if (!shaderD3D->hasUniform(uniform.name))
{
UniformEncodingVisitorD3D visitor(shader->getType(), HLSLRegisterType::None, &stubEncoder,
uniformMap);
sh::TraverseShaderVariable(uniform, false, &visitor);
return;
}

unsigned int startRegister = shaderD3D->getUniformRegister(uniform.name);
ShShaderOutput outputType = shaderD3D->getCompilerOutputType();
sh::HLSLBlockEncoder encoder(sh::HLSLBlockEncoder::GetStrategyFor(outputType), true);
Expand Down
3 changes: 2 additions & 1 deletion gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d9/Image9.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,8 @@ angle::Result Image9::setManagedSurface(Context9 *context9, IDirect3DSurface9 *s
surface->GetDesc(&desc);
ASSERT(desc.Pool == D3DPOOL_MANAGED);

if ((GLsizei)desc.Width == mWidth && (GLsizei)desc.Height == mHeight)
if ((GLsizei)desc.Width == mWidth && (GLsizei)desc.Height == mHeight &&
desc.Format == mD3DFormat)
{
if (mSurface)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,13 @@ angle::Result TextureStorage9_Cube::findRenderTarget(const gl::Context *context,

ASSERT(index.getType() == gl::TextureType::CubeMap &&
gl::IsCubeMapFaceTarget(index.getTarget()));

if (index.getLevelIndex() != 0)
{
*outRT = nullptr;
return angle::Result::Continue;
}

const size_t renderTargetIndex = index.cubeMapFaceIndex();

*outRT = mRenderTarget[renderTargetIndex];
Expand All @@ -489,6 +496,10 @@ angle::Result TextureStorage9_Cube::getRenderTarget(const gl::Context *context,

ASSERT(index.getType() == gl::TextureType::CubeMap &&
gl::IsCubeMapFaceTarget(index.getTarget()));

ANGLE_CHECK_HR(GetImplAs<Context9>(context), index.getLevelIndex() == 0,
"Cube map render targets are only supported for level 0", E_INVALIDARG);

const size_t renderTargetIndex = index.cubeMapFaceIndex();

if (mRenderTarget[renderTargetIndex] == nullptr && isRenderTarget())
Expand Down
Loading