You only need to control the signal from one process. Just add your reset functions to the counter processes and it should work. For instance:
process(clk) -- Process for horizontal counter
begin
if(rising_edge(clk)) then
if(rst = '1') then
h_count <= 0;
else
if h_count = 799 then
h_count <= (others => '0');
else
h_count <= h_count + 1;
end if;
end if;
end if;
end process;
A few other notes:
, reset . , . , , , , ( reset - ).
, , ( reset) if-. h_count = 799. :
process(clk)
begin
if(rising_edge(clk)) then
if(h_count = 799) then
(...)
.
, clk'event and clk=1 , rising_edge(clk). ( ), rising_edge , , , .