Bladeren bron

Fixing more vulkan related bugs

Panagiotis Christopoulos Charitos 9 jaren geleden
bovenliggende
commit
89fe4d6eeb
3 gewijzigde bestanden met toevoegingen van 7 en 7 verwijderingen
  1. 2 0
      src/core/App.cpp
  2. 1 3
      src/gr/vulkan/CommandBufferImpl.cpp
  3. 4 4
      src/renderer/Ir.cpp

+ 2 - 0
src/core/App.cpp

@@ -371,6 +371,8 @@ Error App::mainLoop()
 		prevUpdateTime = crntTime;
 		crntTime = HighRezTimer::getCurrentTime();
 
+		m_gr->beginFrame();
+
 		// Update
 		ANKI_CHECK(m_input->handleEvents());
 

+ 1 - 3
src/gr/vulkan/CommandBufferImpl.cpp

@@ -287,9 +287,7 @@ void CommandBufferImpl::generateMipmaps(
 	const TextureImpl& impl = tex->getImplementation();
 	ANKI_ASSERT(impl.m_type != TextureType::_3D && "Not design for that ATM");
 
-	U mipCount = computeMaxMipmapCount2d(impl.m_width, impl.m_height);
-
-	for(U i = 0; i < mipCount - 1; ++i)
+	for(U i = 0; i < impl.m_mipCount - 1u; ++i)
 	{
 		// Transition source
 		if(i > 0)

+ 4 - 4
src/renderer/Ir.cpp

@@ -287,8 +287,8 @@ Error Ir::initIs()
 	texinit.m_sampling.m_minMagFilter = SamplingFilter::LINEAR;
 	texinit.m_sampling.m_mipmapFilter = SamplingFilter::LINEAR;
 	texinit.m_usage = TextureUsageBit::SAMPLED_FRAGMENT
-		| TextureUsageBit::FRAMEBUFFER_ATTACHMENT_WRITE
-		| TextureUsageBit::CLEAR;
+		| TextureUsageBit::FRAMEBUFFER_ATTACHMENT_READ_WRITE
+		| TextureUsageBit::CLEAR | TextureUsageBit::GENERATE_MIPMAPS;
 	texinit.m_format = IS_COLOR_ATTACHMENT_PIXEL_FORMAT;
 
 	m_is.m_lightRt = getGrManager().newInstance<Texture>(texinit);
@@ -405,8 +405,8 @@ Error Ir::initIrradiance()
 	texinit.m_sampling.m_minMagFilter = SamplingFilter::LINEAR;
 	texinit.m_sampling.m_mipmapFilter = SamplingFilter::LINEAR;
 	texinit.m_usage = TextureUsageBit::SAMPLED_FRAGMENT
-		| TextureUsageBit::FRAMEBUFFER_ATTACHMENT_WRITE
-		| TextureUsageBit::CLEAR;
+		| TextureUsageBit::FRAMEBUFFER_ATTACHMENT_WRITE | TextureUsageBit::CLEAR
+		| TextureUsageBit::GENERATE_MIPMAPS;
 	texinit.m_format = IS_COLOR_ATTACHMENT_PIXEL_FORMAT;
 
 	m_irradiance.m_cubeArr = getGrManager().newInstance<Texture>(texinit);