Compare commits

..

3 commits

2 changed files with 18 additions and 4 deletions

View file

@ -19,6 +19,8 @@ impl BackgroundGenerator {
color: [f32; 4], color: [f32; 4],
image_infos: [(u32, u32); N], image_infos: [(u32, u32); N],
) -> Result<[Arc<Image>; N]> { ) -> Result<[Arc<Image>; N]> {
let max_supported_sample_count = device.max_supported_sample_count(VK_SAMPLE_COUNT_16_BIT);
let vertex_shader = ShaderModule::from_slice( let vertex_shader = ShaderModule::from_slice(
device.clone(), device.clone(),
include_bytes!("generator.vert.spv"), include_bytes!("generator.vert.spv"),
@ -48,7 +50,17 @@ impl BackgroundGenerator {
let render_target = RenderTarget::builder() let render_target = RenderTarget::builder()
.add_sub_pass( .add_sub_pass(
SubPass::builder(image.width(), image.height()) SubPass::builder(image.width(), image.height())
.set_prepared_targets(&[image.clone()], 0, [0.0, 0.0, 0.0, 0.0], true) .add_target_info(CustomTarget {
usage: VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT.into(),
format: image.vk_format(),
clear_on_load: true,
store_on_save: true,
attach_sampler: false,
use_as_input: false,
clear_value: ClearValue::Color([0.0, 0.0, 0.0, 0.0]),
})
.set_sample_count(max_supported_sample_count)
.add_resolve_targets(vec![image.clone()])
.build(&device, &queue)?, .build(&device, &queue)?,
) )
.build(&device)?; .build(&device)?;
@ -102,7 +114,7 @@ impl BackgroundGenerator {
.default_depth_stencil(false, false) .default_depth_stencil(false, false)
.default_color_blend(vec![VkPipelineColorBlendAttachmentState::default()]) .default_color_blend(vec![VkPipelineColorBlendAttachmentState::default()])
.default_rasterization(VK_CULL_MODE_NONE, VK_FRONT_FACE_COUNTER_CLOCKWISE) .default_rasterization(VK_CULL_MODE_NONE, VK_FRONT_FACE_COUNTER_CLOCKWISE)
.default_multisample(VK_SAMPLE_COUNT_1_BIT) .default_multisample(max_supported_sample_count)
.add_viewport(viewport) .add_viewport(viewport)
.add_scissor(scissor) .add_scissor(scissor)
.build( .build(

View file

@ -149,7 +149,7 @@ impl LeaderBoardEntry {
match self.behind { match self.behind {
BehindLeader::Time(time_behind) => { BehindLeader::Time(time_behind) => {
// check if we are leader // check if we are leader
if time_behind == 0.0 { if time_behind <= 0.0 {
self.time_label.set_text("---")?; self.time_label.set_text("---")?;
} else { } else {
let text = if time_behind > 60.0 { let text = if time_behind > 60.0 {
@ -221,7 +221,9 @@ impl LeaderBoardEntry {
} }
pub fn force_display_behind_next(&mut self) -> Result<()> { pub fn force_display_behind_next(&mut self) -> Result<()> {
let text = if self.time_behind_next > 60.0 { let text = if self.time_behind_next <= 0.0 {
"---".to_string()
} else if self.time_behind_next > 60.0 {
let full_minutes = (self.time_behind_next / 60.0).floor(); let full_minutes = (self.time_behind_next / 60.0).floor();
let remainder = self.time_behind_next - (full_minutes * 60.0); let remainder = self.time_behind_next - (full_minutes * 60.0);